Answers:
您可以使用该iwlist
工具打印附近访问点的所有详细信息。假设您的无线设备称为wlan0
:
sudo iwlist wlan0 scan
iwlist的输出将显示找到的每个“ Cell”(或访问点),包括有关加密类型的以下详细信息:
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
这表明我附近的网络正在使用WPA2,并且使用了预共享密钥(PSK)。
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
现在,我们如何将其放入同一脚本中?如果您仅建立了一个连接,
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中却不存在,因此我建议您自己研究和使用它