使用 Scapy 获取 RSSI 信息

问题描述 投票:0回答:1

当我尝试使用 Scapy 从周围的无线网络获取 Rssi 信息时,出现一些错误。另外,我使用的是 ALFA-036NH,我的监控模式是开放的,操作系统是 Kali Linux。我使用以下代码:

from scapy.all import *
from datetime import datetime
import os
import signal
import sys
def PacketHandler(pkt) :
  if pkt.haslayer(Dot11) :
    if pkt.type == 0 and pkt.subtype == 8 :
      if pkt.haslayer(Dot11Beacon) or pkt.haslayer(Dot11ProbeResp):
        try:
            extra = pkt.notdecoded
            rssi = -(256 - ord(extra[-4:-3]))
        except:
            rssi = -100
        print "WiFi signal strength:", rssi

sniff(iface="wlan0mon", prn = PacketHandler)  

但是,所有网络都提供 -100 dbm。感谢您的关注。

python wifi scapy rssi
1个回答
0
投票

请使用最新的 scapy github 版本(或 2.4.1+)重试。它改进了对 RSSI 的支持,现在可以通过

dBm_AntSignal
字段使用该功能(如果存在)。

pkt.dBm_AntSignal

您不需要您提供的功能。

PS:你在哪里找到这样的代码?你自己做的吗?谢谢

© www.soinside.com 2019 - 2024. All rights reserved.