回答:
このiwlist
ツールを使用して、近くのアクセスポイントのすべての詳細を印刷できます。ワイヤレスデバイスが呼び出されると仮定しますwlan0
。
sudo iwlist wlan0 scan
iwlistの出力には、検出された各「セル」(またはアクセスポイント)が表示され、暗号化タイプに関する次の詳細が含まれます。
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
これは、近くのネットワークが事前共有キー(PSK)を使用してWPA2を使用していることを示しています。
NetworkManager
という素晴らしいコマンドラインバックエンドがありnmcli
ます。小さな欠点は、15.04の一部のコマンドが14.04バージョンのと異なることですnmcli
。
Ubuntu 14.04
nmcli -f NAME con status
現在の接続の名前をリストできます。例えば、
$ nmcli -f NAME,DEVICES con status
NAME DEVICES
Serg-Wifi wlan0
次に、接続に関する特定の詳細をリストするために、を実行できますnmcli con list id "WifiName"
。具体的には、と言う行を探していますkey-mgmt
。
$ nmcli con list id "SergWifi" | awk '/key-mgmt/ {print $2}'
wpa-psk
したがって、このwifiはWPA保護を使用しています。
別のヒントは次の行です。
802-11-wireless.security: 802-11-wireless-security
さて、これを同じスクリプトにどのように入れますか?接続が1つだけ確立されている場合、
nmcli con list id "$(nmcli -t -f NAME con status)" | awk '/key-mgmt/||/802-11-wireless\.security/ {print $2}'
ここではnmcli
、-tフラグを使用して操作するだけで、きれいなヘッダーのないwifiアクセスポイントの名前のみを指定し、パラメーター置換ブラケットで使用して、そのアクセスポイントに関するデータをリスト$( . . .)
するnmcli con list id
ための入力として 指定します。最後にawk
、必要な行を除外します。
WiFi接続が確立されているが、イーサネットも接続されている場合、nmcli -f NAME con status
複数の回線が出力されます。そのリストからwifiを除外することをお勧めしますnmcli -f NAME,DEVICES con status | awk '/wlan0/ {print $1}'
。残りの処理は上記と同じです。
Ubuntu 15.04
上記のコマンドは、15.04では次のように変換されます。
nmcli -t -f NAME,DEVICE con status | awk -F':' '/wlan0/{print }'
確立された接続の名前を取得する wlan0
nmcli con show "ConnectionName"
確立された接続に関する詳細をリストします。サイドノート: Ubuntu 14.04にはnm-tool
、現在の接続に関する情報が簡単に整理された形式で一覧表示されますが、15.04には存在しないため、自分で勉強して遊ぶことをお勧めします