Python3侦听已在使用的UDP端口

问题描述

我正在使用python 3.6运行ubutnu mate。我正在尝试使用套接字模块嗅探进程的udp通信。我当前使用的代码是:

sniffer = socket.socket(socket.AF_INET,socket.soCK_DGRAM)
sniffer.bind(("192.168.1.6",listen_port))

listen_port是我要监视的进程的端口。每当我尝试对其进行任何有用的处理时,是否有任何方法可以忽略此代码引发的Error 98异常?我见过其他人尝试使用类似于以下代码的帖子:

s = socket.socket(socket.AF_INET,socket.soCK_RAW,socket.IPPROTO_UDP)

但是,这似乎会获得所有udp流量,并且由于我不知道如何检查这些数据包来自哪个端口,因此我无法针对我要查找的特定进程进行过滤。尽管Wireshark可以通过解码为ASCII来找到可读信息,但我也很难从上面的代码解码数据,当我尝试使用上面的套接字接收和解码数据时,我无法成功解析任何内容

我也看到人们推荐scapy模块,但是我所看到的示例仅涉及tcp嗅探,尽管花了很多时间摆弄和阅读文档,但我也找不到成功的例子。

非常感谢您提供上述解决方案或忽略原始“地址已在使用中”异常的方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)