首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scapy -从WiFi数据包中检索RSSI

Scapy -从WiFi数据包中检索RSSI
EN

Stack Overflow用户
提问于 2012-05-30 22:45:34
回答 6查看 18.2K关注 0票数 5

我正在尝试从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从接口嗅探数据包,那么数据包中会有更多信息:

代码语言:javascript
复制
###[ 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。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-06-01 05:58:32

总结一下:

  • 信号强度不可见,因为设置“监控模式”的方式有问题(并非所有标头都被嗅探器传递/解析)。这个监视器接口是由hostapd创建的。
  • 现在我正在使用airmon-ng - tcpdump在接口上设置监视器模式,

显示这些额外的标头。

github已编辑:使用 2.4.1+ (或github开发版)。最新的版本现在可以正确解码“未解码”部分

票数 3
EN

Stack Overflow用户

发布于 2013-12-26 05:22:55

这是一个有价值的替罪羊扩展,它改进了scapy.layers.dot11.Packet对当前未解码字段的解析。

https://github.com/ivanlei/airodump-iv/blob/master/airoiv/scapy_ex.py

只需使用:

代码语言:javascript
复制
import scapy_ex

和:

代码语言:javascript
复制
packet.show()

它看起来像这样:

代码语言:javascript
复制
###[ 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
票数 3
EN

Stack Overflow用户

发布于 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,我有这样的信息:

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10818661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档