人間が分析できるLinux用WiFiスキャンツールはどこにありますか?

人間が分析できるLinux用WiFiスキャンツールはどこにありますか?

Linuxでは、利用可能なWiFiネットワークを検索しながらiw多くの情報を提供しています。iwlist私が言いたいことは多すぎる情報。 2,308行は、人が分析するには大きすぎます。もちろん、私は忙しいアパートの建物にありますが、もっと重要なのは、長い出力が実際に私に邪魔になることです。

$ sudo iw dev wlp8s0 scan | wc -l
2308

私は単純な出力を好む。近接アクセスポイントの概要を示す比較的短い表です。この出力は、GUI WiFiユーティリティ(SSID、信号強度、暗号化タイプ)から期待できるさまざまなフィールドのみを端末に表示します。

同様のユーザーが私の前に同じことをしましたiw12サム4567891011121314

iwこの質問について私が見つけたほとんどすべての答えは、同じツールの出力を解析してiwlist使用することをお勧めしますが、grepこれはあまり良い答えではないようです。特に、その出力は次のように明示的に明示されているためsedawkiwいいえ掻き出した。

このツールをスクリーンスクラップしないでください。出力は不規則と見なされます。

nmcli来ると言いたいかなり近い私が望むものにNetworkManager渡すnmcliだけでなく、Google検索よりも一般的なようですiwiwlistnmcli

WiFiスキャン出力設定されている場合FreeBSDでは、完璧。この実装がすべてのBSDバージョンに共通して適用されるかどうかはわかりませんが、Linuxで欲しいツールとまったく一致します。

30.3.4.1.1.アクセスポイントを見つける方法 WiFiスキャン用のifconfig BSDバージョンのシンプルできれいな出力

WiFiネットワークを検索して一覧表示できるほぼすべてのLinuxバージョンの同様の在庫/標準ツールはありますか?シンプル出力は上記と同じですか?

答え1

ほとんどのLinuxプラットフォームに付属しており、wpa_supplicantスタンドアロンで使用することも、NetworkManagerやそのCLIツールなどの他の「フレームワーク」で使用することもできますwpa_cli。私は新しいシステム方法を知りません(他のすべての方法を置き換える傾向があります...)。

# wpa_cli 
wpa_cli v2.6
[...]
Selected interface 'wlan0'

Interactive mode

> scan
OK
<3>CTRL-EVENT-SCAN-STARTED 
<3>CTRL-EVENT-SCAN-RESULTS 
<3>WPS-AP-AVAILABLE 
<3>CTRL-EVENT-NETWORK-NOT-FOUND 
<3>CTRL-EVENT-SCAN-STARTED 
<3>CTRL-EVENT-SCAN-RESULTS 
<3>WPS-AP-AVAILABLE 
<3>CTRL-EVENT-NETWORK-NOT-FOUND 
> scan_results 
bssid / frequency / signal level / flags / ssid
xx:xx:xx:xx:xx:xx   2412    -39 [WPA2-PSK-CCMP][ESS]    
xx:c7:29:xx:xx:xx   2462    -56 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]   SomeSSID
xx:e9:dd:xx:xx:xx   2412    -57 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]   OtherSSID
xx:8e:78:xx:xx:xx   2412    -65 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS]   AthirdSSID
[...]

または非対話型:

# wpa_cli scan_results
Selected interface 'wlan0'
bssid / frequency / signal level / flags / ssid
xx:xx:xx:xx:xx:xx   2412    -40 [WPA2-PSK-CCMP][ESS]    
[...]

(参考までにこれは隠されたssidです。)

答え2

BusyBox互換バージョンを提供する人を見ました。ここ。 JSON形式で出力し、Unicodeと互換性があるように改善しました。確認してくださいそれ出て。

以下は、の出力を解析する例ですiw

wifiscan wlan0 | jq

結果

[
  {
    "mac": "c2:4b:e6:1e:95:b3",
    "ssid": "Angel 的 Chromecast",
    "freq": "2412",
    "sig": "-62.00 dBm",
    "sig%": "63.3333",
    "wpa": "n",
    "wpa2": "y",
    "wep": "n",
    "tkip": "n",
    "ccmp": "y"
  },
  {
    "mac": "1c:49:7b:30:23:3f",
    "ssid": "TAO",
    "freq": "2412",
    "sig": "-56.00 dBm",
    "sig%": "73.3333",
    "wpa": "n",
    "wpa2": "y",
    "wep": "n",
    "tkip": "n",
    "ccmp": "y"
  }
]

答え3

私はこれをRaspberry Pi OSがインストールされているRaspberry Piで使用しています。 GHz:

sudo wpa_cli -i wlan0 scan; sleep 5; sudo wpa_cli -i wlan0 scan_results

メモ:

  • -i私には、WiFiインターフェイスが1つしかない場合でも、どのインターフェイスを使用するかを指定する必要があります。
  • sleepコマンドを省略し、単に数回実行することができます。数秒後にネットワークが表示されます。

関連情報