【问题标题】:How to see all packets in the air with scapy on Windows?如何在 Windows 上使用 scapy 查看空中的所有数据包?
【发布时间】:2018-08-19 09:43:46
【问题描述】:

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

我使用的是 Windows 8.1,我知道 socket 模块在 Windows 上没有 PF_PACKET 或类似的东西来嗅探数据包,所以我使用了 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监控模式?

【问题讨论】:

  • "只从我现在连接的网络中嗅探数据包,所以如果我没有连接到任何网络,它就不会嗅探任何东西" -- 那是怎么回事意外?自然,您只能获取网卡物理接收的数据包。
  • 那么,我要如何查看我的 PC 附近空气中的所有数据包?我想嗅探空气中的所有数据包。

标签: python wifi scapy sniffing


【解决方案1】:

Scapy 支持监控模式,但它需要几个条件:

  • 使用最新的开发 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”

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

Wireshark 还需要 Npcap(Winpcap 不支持监控模式)才能在监控模式下嗅探

【讨论】:

  • 你不需要下载.zip,pip can install directly from a Git repository:pip install git+https://github.com/secdev/scapy
  • 是的,但这需要 pip 到 git clone 数千次提交,并且需要更长的时间。你可以自己试一下看看
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 2011-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多