Как узнать, какой тип безопасности использует точка беспроводного доступа (essid)? wep / wpa / wpa2 (желательно с использованием инструментов командной строки)
nmcli является клиентом командной строки для NetworkManager. Это может использоваться для просмотра типов безопасности соседних точек беспроводного доступа.
$> nmcli device wifi list
Результат обнаружится как следующее:
Вы можете использовать инструмент 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).
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, чтобы дать нам только имя точки доступа Wi-Fi без красивого заголовка, и используем его в скобках замены параметров. $( . . .)
и передайте его nmcli con list id
в качестве входных данных для получения списка данных об этой точке доступа. Наконец, awk
просто отфильтровывает необходимую строку.
Если у вас установлено соединение Wi-Fi, но также подключен Ethernet, nmcli -f NAME con status
выведет несколько линий. Я предлагаю отфильтровать Wi-Fi из этого списка, с 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
[ 1120] nmcli con show "ConnectionName"
, чтобы просмотреть подробную информацию о вашем установленном соединении. Примечание: в Ubuntu 14.04 есть nm-tool
, в котором перечисляется информация о ваших текущих соединениях в легко организованном формате, однако она отсутствует в 15.04, поэтому я предлагаю вам изучить и играйте с ним самостоятельно