我试图让RSSI或无线网络的数据包的信号强度。 我也想从RSSI“的WiFi探测请求”(当有人寻找一个WiFi热点)。
我设法把它从天命日志,但也仅仅以确保它是可能的 - 我不想使用天命所有的时间。
对于“全时扫描”我使用Scapy的。 有谁知道我在哪里可以找到从包中RSSI或信号强度(DBM)嗅探与Scapy的? 我不知道整个包是如何构建的 - 有很多,我不知道如何分析/解释“十六进制”的值。
我嗅探两个接口 - 为wlan0(检测,当有人连接到我的热点),并mon.wlan0(当有人搜索热点检测)。 硬件(无线网卡),我用的是基于棱镜芯片组(ISL3886)。 然而,随着天命测试跑的Atheros(AR2413)和英特尔iwl4965。
EDIT1:
看起来我需要以某种方式访问存储在PrismHeader信息: http://trac.secdev.org/scapy/browser/scapy/layers/dot11.py线92?
任何人都知道如何进入这个信息? packet.show()和packet.show2()不会从这个类/图层显示任何东西
EDIT2:
更多挖后看来该接口仅仅设置不正确,这就是为什么它不能收集所有必要的标头。 如果我运行天命,然后用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'
...
现在我只需要正确设置界面,而无需使用天命。
这是提高一个有价值的Scapy的扩展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
总结:
编辑:使用Scapy的2.4.1+(或GitHub的开发版本)。 最新版本现在可以正确解码«notdecoded»部分
出于某种原因,数据包结构发生了变化。 现在dBm_AntSignal是notdecoded第一要素。
我不知道这个解决方案的100%,但我用sig_str = -(256 - ord(packet.notdecoded[-2:-1]))
达到第一个元素,我得到这似乎是值dBm_AntSignal
。
我使用OpenWRT
在TP-Link MR3020
与extroot和爱德华Keeble无源无线上网的监测项目有一些修改。
我用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= 8
如果有人仍然有同样的问题,我想我已经找到了解决办法:
我相信这是RSSI值右切:
sig_str = -(256-ord(packet.notdecoded[-3:-2]))
而这一次是针对噪音水平:
noise_str = -(256-ord(packet.notdecoded[-2:-1]))
它说:“RadioTap”的事实表明,该设备可提供Radiotap头 ,没有棱镜头,即使它有一个棱镜的芯片组。 在P54司机似乎是一个“SoftMAC驱动程序”,在这种情况下,它可能会提供Radiotap头; 您使用的是P54驱动程序或旧prism54驱动程序?
我已经类似的问题,我设置的监视模式与airmon-NG,我可以看到在tcpdump的dBm的水平,但每当我尝试sig_str = -(256-ord(packet.notdecoded[-4:-3]))
我获得-256,因为返回的值从notdecoded 0中的报文结构如下所示。
version = 0
pad = 0
len = 36
present = TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext
notdecoded= ' \x08\x00\x00\x00\x00\x00\x00\x1f\x02\xed\x07\x05
.......