Scapy Sniffer - Получение RSSI

Я заинтересован в получении значений RSSI, если AP используют scapy sniffer. я использую sig_str = -(256-ord(packet.notdecoded[-4:-3])) чтобы получить значения RSSI. Тем не менее, я получаю -256 для всех точек доступа. Тогда часть без декодирования равна 0. Может ли кто-нибудь помочь мне разобраться с этим?

PS: я уже ссылался на этот соответствующий пост. /questions/41338773/scapy-poluchenie-rssi-iz-paketov-wifi/41338799#41338799

ТИА!

0 ответов

Предпосылка

Предполагая, что интерфейс находится в режиме мониторинга и назначен правильный канал. В следующем примере настраиваетсяiface=wlan0 к monitor mode и слушает channel=6

$ sudo ip link set wlan0 down
$ sudo iw dev wlan0 set type monitor
$ sudo ip link set wlan0 up
$ sudo iw dev wlan0 set channel 6

Python3

RSSI из пакета можно заработать dBm_AntSignal если RadioTap заголовок правильно прочитан вместе.

from scapy.all import RadioTap
from scapy.all import sniff

# sniff a packet from the interface
pkt = sniff(iface="wlan0", count=1)
pkt = pkt[0]

# getting the RSSI
radiotap = pkt.getlayer(RadioTap)
rssi = radiotap.dBm_AntSignal
print("RSSI={}".format(rssi)) # RSSI=-84

Python2

Похоже на dBm_AntSignal не работает на python2 scapy, следующий пример будет работать.

extra = pkt.notdecoded
rssi = -(256-ord(extra[-4:-3]))

Надеюсь это поможет.

Другие вопросы по тегам