我正在尝试从WiFi数据包中获取RSSI或信号强度。我也想从'WiFi探测请求‘(当有人在搜索WiFi热点时)的RSSI。
我设法从kismet日志中看到了它,但那只是为了确保它是可能的--我不想一直使用kismet。
对于“全职扫描”,我使用的是scapy。有没有人知道我可以在哪里找到RSSI或信号强度(以dBm为单位),从嗅探到的数据包中?我不知道整个包是如何构建的--有很多“十六进制”的值,我不知道如何解析/解释。
我在两个界面上都进行了嗅探-- wlan0 (侦测何时有人连接到我的热点)和mon.wlan0 (侦测何时有人正在搜索热点)。我使用的硬件(WiFi卡)是基于棱镜芯片组(ISL3886)的。然而,Kismet的测试是在Atheros (AR2413)和英特尔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'
...现在,我只需要正确地设置接口,而不需要使用kismet。
发布于 2012-06-01 05:58:32
总结一下:
显示这些额外的标头。
github已编辑:使用 2.4.1+ (或github开发版)。最新的版本现在可以正确解码“未解码”部分。
发布于 2013-12-26 05:22:55
这是一个有价值的替罪羊扩展,它改进了scapy.layers.dot11.Packet对当前未解码字段的解析。
https://github.com/ivanlei/airodump-iv/blob/master/airoiv/scapy_ex.py
只需使用:
import scapy_ex和:
packet.show()它看起来像这样:
###[ 802.11 RadioTap ]###
version = 0
pad = 0
RadioTap_len= 18
present = Flags+Rate+Channel+dBm_AntSignal+Antenna+b14
Flags = 0
Rate = 2
Channel = 1
Channel_flags= 160
dBm_AntSignal= -87
Antenna = 1
RX_Flags = 0发布于 2016-06-15 23:01:01
由于某些原因,数据包结构发生了变化。现在dBm_AntSignal是未解码的第一个元素。
我不是100%确定这个解决方案,但我使用sig_str = -(256 - ord(packet.notdecoded[-2:-1]))到达第一个元素,我得到的值似乎是dBm_AntSignal。
我正在使用OpenWRT与外部和爱德华Keeble被动无线监测项目的TP-Link MR3020与一些修改。
我使用scapy_ex.py,我有这样的信息:
802.11 RadioTap
version = 0
pad = 0
RadioTap_len= 36
present = dBm_AntSignal+Lock_Quality+b22+b24+b25+b26+b27+b29
dBm_AntSignal= 32
Lock_Quality= 8https://stackoverflow.com/questions/10818661
复制相似问题