Python数据包嗅探数据包捕获 – pcapy不捕获数据包

Python数据包嗅探数据包捕获 – pcapy不捕获数据包,第1张

概述我的无线接口处于监控模式,我能够成功嗅探网络数据包并使用Wireshark进行分析.我一直在努力实现与 pcapy和 impacket类似的东西.看起来好像pcapy没有捕获与Wireshark相同的数据包.我目前在Mac OS X 10.9 w / 2012 Macbook Pro上运行,但注意到Ubuntu上使用TP-LINK TL-WN722N无线USB适配器的行为相同. 这是我写的一个脚本 我的无线接口处于监控模式,我能够成功嗅探网络数据包并使用Wireshark进行分析.我一直在努力实现与 pcapyimpacket类似的东西.看起来好像pcapy没有捕获与Wireshark相同的数据包.我目前在Mac OS X 10.9 w / 2012 Macbook Pro上运行,但注意到Ubuntu上使用TP-link TL-WN722N无线USB适配器的行为相同.

这是我写的一个脚本的例子,显然不起作用.即使我在Wireshark中看到它们,我也没有接受使用pcapy的Probe Requests.

import pcapyimport impacketDECODER = 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 = Truep = pcapy.open_live("your_interface_here",promiscuous,1000)

2)为您的界面设置混杂模式.不确定如何在Mac上执行此 *** 作,在linux上它是:

os.system('sudo ifconfig eth0 promisc')

然后关闭并关闭你的界面.

有pcapy和铜以太网相同的问题.上面的技巧为我解决了这个问题.

总结

以上是内存溢出为你收集整理的Python数据包嗅探/数据包捕获 – pcapy不捕获数据包全部内容,希望文章能够帮你解决Python数据包嗅探/数据包捕获 – pcapy不捕获数据包所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1197050.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存