我可以通过以下简单操作来获取我所连接的 AP 的 RSSI:
iwconfig wlan0 | grep "Signal level"
但是我如何获取未连接的特定 AP 的 RSSI?
如果我这样做,iwlist wlan0 scan
我会得到所有的 AP 和它们的 RSSI,但我无法真正 grep 我感兴趣的特定 AP 的 RSSI。
答案1
我一直在使用grep -Bn
样式命令来监控rssi
我未连接的 AP,最终,可以编写一些更具体的解析器,但对于很多目的来说,这是一个足够好的单行命令:输出包含rssi
您可以使用或scan
的选项:让我们查找一个出现在我的办公室空间中的 AP:iw
iwlist
Sage
iwconfig # get interface name, let's say it's "wifi0"
sudo iw wifi0 scan | grep "SSID: Sage$" -B6 # show 6 lines before the SSID
输出:
freq: 2462
beacon interval: 100 TUs
capability: ESS Privacy ShortPreamble ShortSlotTime (0x0431)
signal: -79.00 dBm
last seen: 624 ms ago
Information elements from Probe Response frame:
SSID: Sage
和iwlist
:
sudo iwlist wifi0 scan | grep ESSID:\"Sage\" -B3
输出:
Frequency:2.462 GHz (Channel 11)
Quality=32/70 Signal level=-78 dBm
Encryption key:on
ESSID:"Sage"
我一直用这个来作为信号强度、天线位置等的交互式监视器,使用watch
这个表达式,或者,对于统计数据,使用timeout
和watch
答案2
您可以使用 aircrack-ng 套件来监控未连接的 WiFi 接入点及其信号强度。
aircrack-ng
从universe
Ubuntu 官方存储库部分安装软件包:sudo apt-get install aircrack-ng
将您的 WiFi 卡设置为监控模式:
sudo airmon-ng start wlan0
扫描范围内的接入点和客户端:
sudo airodump-ng mon0
示例输出:
CH 13 ][ Elapsed: 32 s ][ 2016-06-17 21:39
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
24:65:xx:xx:xx:xx -59 0 4106 145 1 -1 WPA <length: 0>
BSSID STATION PWR Rate Lost Frames Probe
24:65:xx:xx:xx:xx 08:D4:xx:xx:xx:xx 0 0e- 0e 0 4101
在第一个表格中,您可以看到接入点,信号强度显示在PWR
列中。第二个表格列出了所有客户端设备。
答案3
我回复晚了,抱歉
你可以从中获取网络适配器列表ifconfig
,然后run iwconfig wlp2s0 | grep -i --color Signal Level
我希望它有帮助