Scapy Sniffer - 接收RSSI

时间:2016-07-25 17:20:58

标签: wireless scapy rssi sniffer

如果AP使用scapy嗅探器,我有兴趣获取RSSI值。我正在使用sig_str = -(256-ord(packet.notdecoded[-4:-3]))  获取RSSI值。但是,我得到所有AP的-256。未解码的部分则为0.有人可以帮我解决这个问题吗?

PS:我已经引用了这篇相关文章。 https://stackoverflow.com/a/34118234/4804221

TIA!

1 个答案:

答案 0 :(得分:0)

先决条件

假设接口处于监视模式,并且分配了正确的通道。 以下示例将from pyspark.sql.functions import concat, col, lit, when df_join= df1.join(df2,on='id',how='outer').when(isnull(df1.some_string1), ''). when(isnull(df2.some_string2),'').withColumn('new_column',concat(col('some_string1'),lit(''),col('some_string2'))).select('id','new_column') 配置为iface=wlan0并收听monitor mode

channel=6

Python3

如果$ 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 标头正确地一起嗅探,则dBm_AntSignal可以从数据包中获得RSSI。

RadioTap

Python2

似乎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 scapy上不起作用,下面的示例将起作用。

dBm_AntSignal

希望这会有所帮助。