如何了解无线接入点 (essid) 使用哪种类型的安全措施?wep/wpa/wpa2(最好使用命令行工具)
答案1
命令行 是 NetworkManager 的命令行客户端。它可用于查看附近的无线接入点的安全类型。
$> nmcli device wifi list
结果将显示如下:
答案2
您可以使用此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
这表明我附近的网络正在使用 WPA2,使用预共享密钥 (PSK)。
答案3
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 中没有,因此我建议你自己研究一下并尝试一下