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网络编程学习笔记(五):socket的一些补充
Jun 09 Python
Python匹配中文的正则表达式
May 11 Python
Python Logging 日志记录入门学习
Jun 02 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
May 10 Python
python 随机森林算法及其优化详解
Jul 11 Python
Python使用APScheduler实现定时任务过程解析
Sep 11 Python
详解Python3定时器任务代码
Sep 23 Python
torch 中各种图像格式转换的实现方法
Dec 26 Python
Python tkinter常用操作代码实例
Jan 03 Python
pytorch 准备、训练和测试自己的图片数据的方法
Jan 10 Python
设置jupyter中DataFrame的显示限制方式
Apr 12 Python
Python实现单例模式的5种方法
Jun 15 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
COM in PHP (winows only)
2006/10/09 PHP
Laravel学习教程之从入口到输出过程详解
2017/08/27 PHP
PHP实现的用户注册表单验证功能简单示例
2019/02/25 PHP
PHP的垃圾回收机制代码实例讲解
2021/02/27 PHP
JavaScript 密码强度判断代码
2009/09/05 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
JavaScript 继承详解(五)
2016/10/11 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
详解用vue-cli来搭建vue项目和webpack
2017/04/20 Javascript
理解 Node.js 事件驱动机制的原理
2017/08/16 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
bootstrap中日历范围选择插件daterangepicker的使用详解
2018/04/17 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
使用elementUI实现将图片上传到本地的示例
2018/09/04 Javascript
jquery+css实现Tab栏切换的代码实例
2019/05/14 jQuery
vue登录以及权限验证相关的实现
2019/10/25 Javascript
Python实现带百分比的进度条
2016/06/28 Python
python读取excel表格生成erlang数据
2017/08/26 Python
Python3计算三角形的面积代码
2017/12/18 Python
Python缓存技术实现过程详解
2019/09/25 Python
python为什么要安装到c盘
2020/07/20 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
Lookfantastic阿联酋官网:英国知名美妆护肤购物网站
2020/05/26 全球购物
如何强制垃圾回收
2015/10/06 面试题
简述数据库的设计过程
2015/06/22 面试题
国培教师自我鉴定
2014/02/12 职场文书
解除劳动关系协议书范文
2014/09/11 职场文书
单位个人查摆问题及整改措施
2014/10/28 职场文书
社会实践活动总结
2015/02/05 职场文书
党员年度个人总结
2015/02/14 职场文书
学生会生活部工作总结2015
2015/03/31 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python
详解JAVA中的OPTIONAL
2021/06/14 Java/Android