Linuxでは、利用可能なWiFiネットワークを検索しながらiw
多くの情報を提供しています。iwlist
私が言いたいことは多すぎる情報。 2,308行は、人が分析するには大きすぎます。もちろん、私は忙しいアパートの建物にありますが、もっと重要なのは、長い出力が実際に私に邪魔になることです。
$ sudo iw dev wlp8s0 scan | wc -l
2308
私は単純な出力を好む。近接アクセスポイントの概要を示す比較的短い表です。この出力は、GUI WiFiユーティリティ(SSID、信号強度、暗号化タイプ)から期待できるさまざまなフィールドのみを端末に表示します。
同様のユーザーが私の前に同じことをしましたiw
。1、2、サム、4、5、6、7、8、9、10、11、12、13、14
iw
この質問について私が見つけたほとんどすべての答えは、同じツールの出力を解析してiwlist
使用することをお勧めしますが、grep
これはあまり良い答えではないようです。特に、その出力は次のように明示的に明示されているためsed
awk
iw
いいえ掻き出した。
このツールをスクリーンスクラップしないでください。出力は不規則と見なされます。
nmcli
来ると言いたいかなり近い私が望むものにNetworkManager
渡すnmcli
だけでなく、Google検索よりも一般的なようですiw
。iwlist
nmcli
WiFiスキャン出力設定されている場合FreeBSDでは、完璧。この実装がすべてのBSDバージョンに共通して適用されるかどうかはわかりませんが、Linuxで欲しいツールとまったく一致します。
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
コマンドを省略し、単に数回実行することができます。数秒後にネットワークが表示されます。