我正在尝试使用 scapy 发送和接收数据包并读取 RadioTap header 。无线适配器(和驱动程序)能够处理这些 header ,但我似乎无法获取它们。
每当我在 scapy 中发送一个普通数据包时,它不包含这样的 header (因此,嗅探数据包并使用 pkt.haslayer(RadioTap)
检查一个返回 0
,而且我无法像 pkt[RadioTap].show()
那样显示标题。
如果我用 RadioTap header 显式构造我的数据包(比如在
pkt = RadioTap()
并查看它,我可以得到一个 RadioTap header ,但它是空的。发送和接收后,我仍然没有得到任何东西。
我读过像 this 这样的帖子一。但我没有 RadioTap header 未被解码的问题,它只是没有填充任何东西。
我正在使用 scapy 2.3.1,如果这有什么不同的话。有什么想法吗?
最佳答案
请确保您的无线接口(interface)和驱动程序支持监听模式。
$ iw list
...
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* monitor <-- here
* P2P-client
* P2P-GO
* P2P-device
并且您的界面配置为具有特定 channel (例如 ch=6)的监控模式
。
$ sudo ip link set wlan0 down
$ sudo iw dev wlan0 set type monitor
$ sudo ip link set wlan0 up
$ sudo iw dev wlan0 set channel 6
最好先尝试使用像 wireshark
这样的工具来查看 RadioTap 是否可见。
关于wifi - scapy 中的 RadioTap header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35851539/