Python选择网卡发包及接收数据包


Posted in Python onApril 04, 2019

当一台计算机上有多个网卡时,需要选择对应IP地址的网卡进行发送数据包或者接受数据包。

1、选择网卡发包(应用scapy):

plface=conf.route.route("××.××.××.××")[0]
#××.××.××.××为对应网卡网络中存在设备的IP地址。不能是需要发送数据包的网卡的IP地址(会报“result too large”)
pkt=conf.L2socket(plface)
pack_ip,pack_udp,pack_ether=self.udp_pack()
t= str(pack_ether/pack_ip/pack_udp/udp_packdata)
udp_pack = Ether(t)
pkt.send(udp_pack)

2、选择网卡进行包的接收

1)如下方法,只能获得一个网卡的ip地址(选择哪个网卡,优先级未知)

socket.getaddrinfo(socket.gethostname(),None)[-1][4][0]

2)如下方法,可根据ip地址确定网卡:

HOST = socket.gethostbyname(socket.gethostname())
s=socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_IP)
s.bind((HOST,0))

host可以直接用网卡ip地址代替,这样就可以选择网卡进行包的接受了

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

Python 相关文章推荐
python批量导出导入MySQL用户的方法
Nov 15 Python
使用python实现BLAST
Feb 12 Python
Python中的pack和unpack的使用
Mar 12 Python
python使用matplotlib库生成随机漫步图
Aug 27 Python
详解Python函数式编程—高阶函数
Mar 29 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
Oct 11 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
使用Python3 poplib模块删除服务器多天前的邮件实现代码
Apr 24 Python
python实时监控logstash日志代码
Apr 27 Python
Python获取指定网段正在使用的IP
Dec 14 Python
如何用Python提取10000份log中的产品信息
Jan 14 Python
详解Python的数据库操作(pymysql)
Apr 04 #Python
python dlib人脸识别代码实例
Apr 04 #Python
python图像处理入门(一)
Apr 04 #Python
python爬虫简单的添加代理进行访问的实现代码
Apr 04 #Python
Django项目中添加ldap登陆认证功能的实现
Apr 04 #Python
使用 Python 玩转 GitHub 的贡献板(推荐)
Apr 04 #Python
python中yield的用法详解——最简单,最清晰的解释
Apr 04 #Python
You might like
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
教你如何使用php session
2013/10/28 PHP
PHP中大于2038年时间戳的问题处理方案
2015/03/03 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
JavaScript入门教程(7) History历史对象
2009/01/31 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
读jQuery之六 缓存数据功能介绍
2011/06/21 Javascript
JavaScript面向对象之Prototypes和继承
2012/07/12 Javascript
jQuery的基本概念与高级编程
2015/05/14 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
详解webpack模块加载器兼打包工具
2018/09/11 Javascript
vue使用echarts图表自适应的几种解决方案
2020/12/04 Vue.js
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
python 网络编程常用代码段
2016/08/28 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
Python制作动态字符图的实例
2019/01/27 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
python微信公众号开发简单流程实现
2020/03/09 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
2020/06/18 Python
TensorFlow中如何确定张量的形状实例
2020/06/23 Python
python em算法的实现
2020/10/03 Python
详解如何使用rem或viewport进行移动端适配
2020/08/14 HTML / CSS
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
如何做好总经理助理
2013/11/12 职场文书
银行出纳岗位职责
2013/11/25 职场文书
个性车贴标语
2014/06/24 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
2014光棍节大学生联谊活动方案
2014/10/10 职场文书
证婚人致辞精选
2015/07/28 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android