python - 如何在 Windows 上使用 scapy 查看空中的所有数据包?
问题描述
我正在尝试在 python 3.4 中嗅探一些数据包scapy
。
我使用的是 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
tshark
与 相同sniff
,给出相同的结果。
我有一个ALFA无线realtek接口卡,它支持监控模式。
这里有解决方案吗?wspy
(python中的wireshark)在Windows中工作吗?是否支持 WiFi 监控模式?
解决方案
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)
。指定接口会更安全。IFACES.show()
您可以在 scapy 的控制台中打印列表。(注意:接口名称iface=
参数允许使用完整的接口名称。例如上一条命令提示的“RaLink Adapter (R) Wi-Fi”)
monitor 参数很重要,因为它触发了新的嗅探机制。
Wireshark 还需要 Npcap(Winpcap 不支持监控模式)在监控模式下嗅探
推荐阅读
- python - Python Selenium 自动关注 Instagram
- python-3.x - 在python中检索列列表中的第一个元素并对其求和(例如,如果第一个元素= k,对k求和)
- html - 如何在不完全重新加载页面的情况下更改 HTML/模板
- mysql - count(distinct(person_id)) 不能与 MySQL 数据库中的窗口函数一起使用
- ios - CoreBluetooth Peripheral 需要很长时间才能将值写入 Characteristic
- swift - Swift:正则表达式函数返回空数组
- c++ - 仅使用 boost 库中的属性树
- jquery - 编辑引导模式弹出窗口未加载部分视图
- c# - 读取 Arduino 的串口超时
- apl - 迭代器协议的 K 模式