如何在Windows上使用Scapy查看空中的所有数据包?

时间:2018-08-19 09:43:46

标签: python wifi scapy sniffing

我正在尝试在scapy中的python 3.4中嗅探一些数据包。

我正在使用Windows 8.1,并且我知道socket模块没有PF_PACKET或类似Windows上的嗅探数据包的功能,因此我使用了scapy.sniff函数。我已经安装了WinPcap 4.1.3。

我试图进行嗅探,但感到惊讶的是,它仅嗅探到我现在连接的无线网络中的数据包,因此,如果我未连接到任何网络,它将不会嗅探任何东西(我已经等了10分钟,而且它没有打印任何内容)。代码:

from scapy.all import sniff, tshark
pkts = sniff(count=30) # iface does not work

tsharksniff相同,得出相同的结果。

我有一个ALFA无线realtek接口卡,它支持监控模式。

这里有解决方案吗? wspy(Python中的wireshark)在Windows中工作吗?它支持WiFi监控模式吗?

1 个答案:

答案 0 :(得分:1)

Scapy支持监视模式,但是它需要满足以下条件:

  • 使用最新的开发版本。要下载它,请获取https://github.com/secdev/scapy/archive/master.zip并通过python setup.py install
  • 安装
  • 使用Npcap代替Winpcap。您将需要先卸载Winpcap(Winpcap已被放弃,Nmap收回了该项目)。在https://nmap.org/npcap/
  • 下载
  • 致电sniff([...], monitor=True)。指定接口将更加安全。您可以在scapy的控制台中使用IFACES.show()打印列表。 (注意:接口名称iface=自变量允许使用完整的接口名称。例如,上一条命令提示的“ RaLink Adapter(R)Wi-Fi”

监视参数很重要,因为它会触发新的嗅探机制。

Wireshark还需要Npcap(Winpcap不支持监视模式)才能在监视模式下监听