如何检测 Wifi 接入点的安全模式?(WEP/WPA/WPA2)

如何检测 Wifi 接入点的安全模式?(WEP/WPA/WPA2)

如何了解无线接入点 (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 中没有,因此我建议你自己研究一下并尝试一下

相关内容