Python选择网卡发包及接收数据包

作者:hzliyaya 时间:2021-10-13 12:02:10 

当一台计算机上有多个网卡时,需要选择对应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地址代替,这样就可以选择网卡进行包的接受了

来源:https://blog.csdn.net/hzliyaya/article/details/52045615

标签:python,选择网卡,发包,收包
0
投稿

猜你喜欢

  • js实现通过开始结束控制的计时器

    2024-04-18 09:39:03
  • 在https页面中使用iframe出现安全警告的解决方法

    2009-03-04 12:01:00
  • W3C Group的JavaScript1.8新特性介绍

    2009-07-24 12:31:00
  • Windows下pycharm安装第三方库失败(通用解决方案)

    2022-06-07 22:54:37
  • django 快速启动数据库客户端程序的方法示例

    2023-07-31 09:31:59
  • Python的randrange()方法使用教程

    2021-02-08 10:22:22
  • python读文件保存到字典,修改字典并写入新文件的实例

    2021-09-19 05:37:57
  • 解决jupyter (python3) 读取文件遇到的问题

    2021-02-05 10:00:25
  • 简单谈谈Python中的几种常见的数据类型

    2021-05-24 06:20:48
  • Python数据结构与算法之字典树实现方法示例

    2022-02-28 19:42:37
  • oracle表空间扩容详情

    2024-01-12 15:31:54
  • Python ORM框架Peewee用法详解

    2022-11-08 03:00:24
  • SQL Server保障数据一致性的法宝

    2008-12-26 15:21:00
  • php函数连续调用实例分析

    2024-03-17 06:48:38
  • 浮动元素对浏览器的支持

    2008-02-02 10:05:00
  • python pickle 和 shelve模块的用法

    2023-11-07 22:41:11
  • Asp定时执行操作、各种网页定时操作详解

    2008-06-10 17:32:00
  • Javascript Ajax异步读取RSS文档具体实现

    2024-05-09 10:36:56
  • asp 自定义分段函数/求第N名成绩

    2011-03-25 11:07:00
  • 详解小程序循环require之坑

    2024-02-24 03:38:29
  • asp之家 网络编程 m.aspxhome.com