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基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
Dec 08 Python
python uuid模块使用实例
Apr 08 Python
Ubuntu安装Jupyter Notebook教程
Oct 18 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
Python爬虫天气预报实例详解(小白入门)
Jan 24 Python
详解Python 数据库的Connection、Cursor两大对象
Jun 25 Python
浅谈python连续赋值可能引发的错误
Nov 10 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
tensorflow estimator 使用hook实现finetune方式
Jan 21 Python
django model通过字典更新数据实例
Apr 01 Python
Python新手学习函数默认参数设置
Jun 03 Python
tensorflow2.0教程之Keras快速入门
Feb 20 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下网站防IP攻击代码,超级实用
2010/10/24 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
解决windows上php xdebug 无法调试的问题
2020/02/19 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
基于JQUERY的两个ListBox子项互相调整的实现代码
2011/05/07 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
js使用setTimeout实现定时炸弹的方法
2015/04/10 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
Vue实现双向绑定的方法
2016/12/22 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
教你完全理解ReentrantLock重入锁
2019/06/03 Javascript
详解Vue.js和layui日期控件冲突问题解决办法
2019/07/25 Javascript
vue 路由子组件created和mounted不起作用的解决方法
2019/11/05 Javascript
jquery实现垂直手风琴菜单
2020/03/04 jQuery
python将多个文本文件合并为一个文本的代码(便于搜索)
2011/03/13 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
如何理解Python中包的引入
2020/05/29 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
详解numpy1.19.4与python3.9版本冲突解决
2020/12/15 Python
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
幼儿园美术教学反思
2014/01/31 职场文书
亲子活动总结
2014/04/26 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
群众路线教育实践活动学习笔记内容
2014/11/06 职场文书
员工工作表现自我评价
2015/03/06 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS