Scapy - 从WiFi数据包中检索RSSI

kac*_*984 5 rssi scapy wifi

我正试图通过WiFi数据包获得RSSI或信号强度.我还希望来自"WiFi探测请求"的RSSI(当有人正在搜索WiFi热点时).

我设法从kismet日志中看到它,但这只是为了确保它是可能的 - 我不想一直使用kismet.

对于'全时扫描'我正在使用scapy.有谁知道我在哪里可以找到RSSI或信号强度(以dBm为单位)从scapy嗅到的数据包?我不知道整个数据包是如何构建的 - 并且有很多'十六进制'值,我不知道如何解析/解释.

我在两个接口上嗅探 - wlan0(检测到有人连接到我的热点时)和mon.wlan0(检测到有人在搜索热点时).我使用的硬件(WiFi卡)基于Prism芯片组(ISL3886).然而,使用Kismet的测试是在Atheros(AR2413)和Intel iwl4965上进行的.

EDIT1:

看起来我需要以某种方式访问​​存储在PrismHeader中的信息:http://trac.secdev.org/scapy/browser/scapy/layers/dot11.py 第92行?

有谁知道如何输入这些信息?packet.show()和packet.show2()不显示此类/层中的任何内容

EDIT2:

在进行了更多的挖掘之后,似乎界面没有正确设置,这就是为什么它不会收集所有必要的标题.如果我运行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'
  ...
Run Code Online (Sandbox Code Playgroud)

现在我只需要正确设置界面而不使用kismet.

kac*_*984 3

总结一下:

\n\n
    \n
  • 信号强度不可见,因为“监视模式”的设置方式有问题(并非所有标头都由嗅探器传递/解析)。该监视器接口是由hostapd 创建的。

  • \n
  • 现在我正在使用airmon-ng - tcpdump 在接口上设置监视模式,scapy 显示这些额外的标头。

  • \n
\n\n

编辑:使用 scapy 2.4.1+ (或 github dev 版本)。最新版本现在可以正确解码 \xc2\xab\xc2\xa0notdecoded\xc2\xa0\xc2\xbb 部分

\n

  • 是的,我是。它“隐藏”在数据包的未解码部分中。我用以下命令提取它: `sig_str = -(256-ord(packet.notdecoded[-4:-3]))` (5认同)