使用 iwlist 检索特定 SSID 的名称、质量和信号级别

使用 iwlist 检索特定 SSID 的名称、质量和信号级别

我正在做一个有关 RSSI 的项目,我必须使用 Linux 命令行检索我正在处理的特定 WiFi SSID 的信号级别。

我已经使用了iwlist扫描命令,但我无法通过使用 grep 仅打印 SSID 名称、质量和信号级别来显示我想要的值。

我尝试过的命令没有给我想要的结果:

  1. iwlist INTERFACE scanning essid SpecificESSID | grep Signal

  2. iwlist INTERFACE scanning essid SpecificESSID | grep ESSID,Signal

  3. iwlist INTERFACE scan | grep 'ESSID:"SpecificESSID"\|Signal level'- 这几乎有效,但它也显示其他网络的信号级别,我只需要一个特定的网络信息。

答案1

第一的,iwlist是旧命令,还有新命令iw命令具有更多功能。

如果“您正在使用的 SSID”是您当前连接的接入点 (AP),请使用

iw wlan0 station dump

选择您感兴趣的值(例如,平均信号强度),然后类似

iw wlan0 station dump | grep 'signal avg:'

对于当前连接的 AP,您实际上拥有比所有 AP 更详细的信息。

如果您想要所有可见 AP 的信号强度,请执行以下操作

iw wlan0 scan | egrep 'SSID|signal'

您可以对您感兴趣的 SSID 进行后处理。假设您想要 SSID1 和 SSID2,那么您可以这样做

iw wlan0 scan | egrep 'SSID|signal' | egrep -B1 'SSID1|SSID2'

显示-B1匹配之前的行,因为在扫描输出中,信号强度位于 SSID 之前。

相关内容