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基于multiprocessing的多进程创建方法
Jun 04 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
Jun 13 Python
Python中%r和%s的详解及区别
Mar 16 Python
Python使用time模块实现指定时间触发器示例
May 18 Python
Python编程之string相关操作实例详解
Jul 22 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
对numpy中shape的深入理解
Jun 15 Python
Python浮点数四舍五入问题的分析与解决方法
Nov 19 Python
python实现拉普拉斯特征图降维示例
Nov 25 Python
python标准库os库的函数介绍
Feb 12 Python
Python根据指定文件生成XML的方法
Jun 29 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
Apr 24 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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
YII框架行为behaviors用法示例
2019/04/26 PHP
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
2013/01/11 Javascript
关于JavaScript中name的意义冲突示例介绍
2014/05/29 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
js实现可输入可选择的select下拉框
2016/12/21 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析
2016/12/27 Javascript
数组Array的排序sort方法
2017/02/17 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
微信小程序之数据双向绑定与数据操作
2017/05/12 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
2017/09/18 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
pymssql数据库操作MSSQL2005实例分析
2015/05/25 Python
python 上下文管理器使用方法小结
2017/10/10 Python
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
vue实现倒计时功能
2021/03/24 Vue.js
满月酒答谢词
2014/01/14 职场文书
关于运动会的稿件
2014/02/02 职场文书
幼儿园植树节活动总结
2014/07/04 职场文书
环境工程专业毕业生求职信
2014/09/30 职场文书
pytorch加载预训练模型与自己模型不匹配的解决方案
2021/05/13 Python
Python实现的扫码工具居然这么好用!
2021/06/07 Python
总结高并发下Nginx性能如何优化
2021/11/01 Servers