Python数据包嗅探/数据包捕获 – pcapy不捕获数据包
发布时间:2020-12-20 13:41:34 所属栏目:Python 来源:网络整理
导读:我的无线接口处于监控模式,我能够成功嗅探网络数据包并使用Wireshark进行分析.我一直在努力实现与 pcapy 和 impacket 类似的东西.看起来好像pcapy没有捕获与Wireshark相同的数据包.我目前在Mac OS X 10.9 w / 2012 Macbook Pro上运行,但注意到Ubuntu上使用TP
我的无线接口处于监控模式,我能够成功嗅探网络数据包并使用Wireshark进行分析.我一直在努力实现与
pcapy 和
impacket 类似的东西.看起来好像pcapy没有捕获与Wireshark相同的数据包.我目前在Mac OS X 10.9 w / 2012 Macbook Pro上运行,但注意到Ubuntu上使用TP-LINK TL-WN722N无线USB适配器的行为相同.
这是我写的一个脚本的例子,显然不起作用.即使我在Wireshark中看到它们,我也没有接受使用pcapy的Probe Requests. import pcapy import impacket DECODER = impacket.ImpactDecoder.RadioTapDecoder() def packet_handler(header,data): radio_packet = DECODER.decode(data) dot11 = radio_packet.child() if dot11.get_subtype() == impacket.dot11.Dot11Types.DOT11_SUBTYPE_MANAGEMENT_PROBE_REQUEST: management_base = dot11.child() if management_base.__class__ == impacket.dot11.Dot11ManagementFrame: print management_base.get_source_address(),management_base.get_destination_address() p = pcapy.open_live("your_interface_here",2000,1000) p.loop(-1,packet_handler) 在此示例中,en1处于监视模式.这可以正常使用从Wireshark生成的pcap文件,只需将open_live更改为open_offline: p = open_offline('path_to_file') 我没有正确设置pcapy吗? 解决方法
如果你捕获了一些数据包而不是你在Wireshark中看到的所有数据包,请尝试启用混杂模式(应该捕获所有内容,甚至包含错误校验和的数据包):
1)为pcapy设置混杂模式 promiscuous = True p = pcapy.open_live("your_interface_here",promiscuous,1000) 2)为您的界面设置混杂模式.不确定如何在Mac上执行此操作,在Linux上它是: os.system('sudo ifconfig eth0 promisc') 然后关闭并关闭你的界面. 有pcapy和铜以太网相同的问题.上面的技巧为我解决了这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |