python ipv6数据包嗅探器

时间:2012-10-22 16:23:10

标签: python sockets ipv6 freebsd raw-sockets

嗨我想在FREEBSD上通过python,ipv6嗅探数据包。

我很难尝试谷歌获取信息,但freebsd没有任何例子。

下面的代码无效,因为有人说bsd系统不支持

socket.PF_PACKET。

有没有人有任何帮助我的链接?

s = socket.socket(socket.PF_PACKET, socket.SOCK_RAW, socket.htons(3))
s.setsockopt(socket.SOL_SOCKET, IN.SO_BINDTODEVICE, struct.pack("%ds"%(len("em1")+1,),"em1"))
while condition:
    pkt = s.recvfrom(1500)
    addToQueue(filter(pkt))

1 个答案:

答案 0 :(得分:2)

我会看一下使用libpcap的Python包装器。 libpcap是一个C库,用于嗅探数据包并处理pcap转储。这是Wireshark使用的库。它是OSX的标准配置,可以安装在大多数Linux发行版上。

为此存在许多Python包装器:

确保避免任何纯Python的实现,因为它们无法进行数据包嗅探。