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的Flask框架下使用sqlalchemy库的简单教程
Apr 09 Python
编写Python CGI脚本的教程
Jun 29 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
python定时利用QQ邮件发送天气预报的实例
Nov 17 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
python 监听salt job状态,并任务数据推送到redis中的方法
Jan 14 Python
Python实现打印实心和空心菱形
Nov 23 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
设置jupyter中DataFrame的显示限制方式
Apr 12 Python
Django之全局使用request.user.username的实例详解
May 14 Python
python 浮点数四舍五入需要注意的地方
Aug 18 Python
python 线程的五个状态
Sep 22 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获得文件扩展名三法
2006/11/25 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
php常用数组函数实例小结
2016/12/29 PHP
jQuery $.data()方法使用注意细节
2012/12/31 Javascript
jQuery方法简洁实现隔行换色及toggleClass的使用
2013/03/15 Javascript
jQuery元素的隐藏与显示实例
2015/01/20 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
微信小程序-小说阅读小程序实例(demo)
2017/01/12 Javascript
JavaScript实现离开页面前提示功能【附jQuery实现方法】
2017/09/26 jQuery
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
JavaScript创建对象方法实例小结
2018/09/03 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
微信小程序开发常见问题及解决方案
2019/07/11 Javascript
vue ajax 拦截原理与实现方法示例
2019/11/29 Javascript
vue项目创建步骤及路由router
2020/01/14 Javascript
python 判断一个进程是否存在
2009/04/09 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
Python global全局变量函数详解
2018/09/18 Python
python对日志进行处理的实例代码
2018/10/06 Python
Python除法之传统除法、Floor除法及真除法实例详解
2019/05/23 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
介绍一下Linux中的链接
2016/05/28 面试题
办公室秘书岗位职责范本
2014/02/11 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis