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 截取 取出一部分的字符串方法
Mar 01 Python
windows系统下Python环境搭建教程
Mar 28 Python
Python装饰器实现几类验证功能做法实例
May 18 Python
python实现神经网络感知器算法
Dec 20 Python
Python并发之多进程的方法实例代码
Aug 15 Python
基于Python中isfile函数和isdir函数使用详解
Nov 29 Python
tensorflow求导和梯度计算实例
Jan 23 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
python GUI库图形界面开发之PyQt5访问系统剪切板QClipboard类详细使用方法与实例
Feb 27 Python
Python通过kerberos安全认证操作kafka方式
Jun 06 Python
图文详解matlab原始处理图像几何变换
Jul 09 Python
Python如何利用pandas读取csv数据并绘图
Jul 07 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相当简单的分页类
2008/10/02 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
Javascript 汉字字节判断
2009/08/01 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(五)可移动地图的实现
2013/01/23 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
深入理解JavaScript系列(28):设计模式之工厂模式详解
2015/03/03 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
layui前端时间戳转化实例
2019/11/15 Javascript
JS实现吸顶特效
2020/01/08 Javascript
vue+canvas实现移动端手写签名
2020/05/21 Javascript
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
Linux 下 Python 实现按任意键退出的实现方法
2016/09/25 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
装潢设计实习自我鉴定
2013/09/19 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
会计专业自我评价
2014/02/12 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
政府法律服务方案
2014/06/14 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
2014年电厂工作总结
2014/12/04 职场文书
家长意见书
2015/06/04 职场文书
对公司的意见和建议
2015/06/04 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android