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]))
Надеюсь это поможет.