Ubuntu

使用 iwlist 檢索特定 SSID 的名稱、質量和信號級別

  • August 25, 2018

我正在做一個關於 RSSI 的項目,我必須檢索我正在使用 linux 命令行處理的特定 WiFi SSID 的信號電平。

我使用了iwlist掃描命令,但我無法通過使用 grep 僅列印 SSID 名稱、質量和信號級別來顯示我想要的值。

我嘗試過的命令沒有給我想要的結果:

  1. iwlist INTERFACE 掃描essid 特定ESSID | grep 信號
  2. iwlist INTERFACE 掃描essid 特定ESSID | grep ESSID,信號
  3. iwlist 介面掃描 | grep ‘ESSID:“SpecificESSID”|Signal level’ - 這幾乎可以工作,但它也顯示了其他網路的信號級別,我只需要一個特定的網路資訊。

首先,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 之前。

引用自:https://unix.stackexchange.com/questions/434209