我正在尝试从 WiFi 数据包中获取 RSSI 或信号强度。我还想要来自“WiFi 探测请求”的 RSSI(当有人在搜索 WiFi 热点时)。
我设法从 kismet 日志中看到它,但这只是为了确保它是可能的——我不想一直使用 kismet。
对于“全时扫描”,我使用的是 scapy。有谁知道我在哪里可以从用 scapy 嗅探的数据包中找到 RSSI 或信号强度(以 dBm 为单位)?我不知道整个数据包是如何构建的——而且有很多我不知道如何解析/解释的“十六进制”值。
我正在嗅探这两个接口 - wlan0(检测何时有人连接到我的热点)和 mon.wlan0(检测何时有人搜索热点)。我使用的硬件(WiFi 卡)基于 Prism 芯片组(ISL3886)。然而,Kismet 的测试是在 Atheros (AR2413) 和 Intel iwl4965 上运行的。
编辑1:
看起来我需要以某种方式访问存储在 PrismHeader 中的信息: http ://trac.secdev.org/scapy/browser/scapy/layers/dot11.py 第 92 行?
有人知道如何输入这些信息吗?packet.show() 和 packet.show2() 不显示该类/层中的任何内容
编辑2:
经过更多挖掘后,似乎接口设置不正确,这就是它没有收集所有必要标题的原因。如果我运行 kismet 然后使用 scapy 从该接口嗅探数据包,则数据包中会包含更多信息:
###[ RadioTap dummy ]###
version= 0
pad= 0
len= 26
present= TSFT+Flags+Rate+Channel+dBm_AntSignal+Antenna+b14
notdecoded= '8`/\x08\x00\x00\x00\x00\x10\x02\x94\t\xa0\x00\xdb\x01\x00\x00'
...
现在我只需要正确设置界面而不使用kismet。