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

Ter*_*hew 4 command-line wifi grep ubuntu iw

我正在做一个关于 RSSI 的项目,我必须使用 linux 命令行检索我正在处理的特定 WiFi SSID 的信号电平。

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

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

  1. iwlist INTERFACE 扫描essid SpecificESSID | grep 信号

  2. iwlist INTERFACE 扫描essid SpecificESSID | grep ESSID,信号

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

dir*_*rkt 6

首先,iwlist是旧命令,有iw更多功能的新命令。

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

iw wlan0 station dump
Run Code Online (Sandbox Code Playgroud)

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

iw wlan0 station dump | grep 'signal avg:'
Run Code Online (Sandbox Code Playgroud)

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

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

iw wlan0 scan | egrep 'SSID|signal'
Run Code Online (Sandbox Code Playgroud)

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

iw wlan0 scan | egrep 'SSID|signal' | egrep -B1 'SSID1|SSID2'
Run Code Online (Sandbox Code Playgroud)

-B1显示在比赛前的线,因为在扫描输出时,信号强度而来的SSID之前。