Respostas:
Você pode usar a iwlist
ferramenta para imprimir todos os detalhes dos pontos de acesso próximos. Supondo que seu dispositivo sem fio seja chamado wlan0
:
sudo iwlist wlan0 scan
A saída do iwlist mostrará cada 'célula' (ou ponto de acesso) que encontrar, incluindo os seguintes detalhes sobre o tipo de criptografia:
IE: IEEE 802.11i/WPA2 Version 1
Group Cipher : TKIP
Pairwise Ciphers (2) : CCMP TKIP
Authentication Suites (1) : PSK
Isso indica que uma rede perto de mim está usando WPA2, usando uma chave pré-compartilhada (PSK).
NetworkManager
tem um ótimo back-end da linha de comando chamado nmcli
. A pequena desvantagem é que alguns comandos no 15.04 diferem da versão 14.04 donmcli
.
Ubuntu 14.04
nmcli -f NAME con status
permite listar nomes das conexões atuais. Por exemplo,
$ nmcli -f NAME,DEVICES con status
NAME DEVICES
Serg-Wifi wlan0
Agora, para listar detalhes específicos sobre uma conexão, podemos fazer nmcli con list id "WifiName"
. Para ser mais específico, estamos procurando a linha que diz key-mgmt
.
$ nmcli con list id "SergWifi" | awk '/key-mgmt/ {print $2}'
wpa-psk
Assim, sabemos que esse wifi usa proteção WPA.
Outra dica é a seguinte linha:
802-11-wireless.security: 802-11-wireless-security
Agora, como colocamos isso no mesmo script? Se você tiver apenas uma conexão estabelecida,
nmcli con list id "$(nmcli -t -f NAME con status)" | awk '/key-mgmt/||/802-11-wireless\.security/ {print $2}'
Aqui, apenas manipulamos nmcli
com o sinalizador -t para nos fornecer apenas o nome do ponto de acesso wifi sem o cabeçalho bonito, e usá-lo entre parênteses de substituição de parâmetro $( . . .)
e fornecê-lo como uma entrada nmcli con list id
para listar dados sobre esse ponto de acesso. Finalmente,awk
apenas filtra a linha necessária.
Se você tiver uma conexão wifi estabelecida, mas também conectada à Ethernet, nmcli -f NAME con status
produzirá várias linhas. Sugiro filtrar o wifi dessa lista, com nmcli -f NAME,DEVICES con status | awk '/wlan0/ {print $1}'
. O restante do processamento seria o mesmo que acima.
Ubuntu 15.04
Os comandos acima são traduzidos no 15.04 da seguinte maneira:
nmcli -t -f NAME,DEVICE con status | awk -F':' '/wlan0/{print }'
para obter o nome da conexão estabelecida em wlan0
nmcli con show "ConnectionName"
para listar detalhes sobre sua conexão estabelecida.Nota lateral: no Ubuntu 14.04 existe uma nm-tool
lista de informações sobre suas conexões atuais em um formato prontamente organizado, no entanto, não está presente no 15.04, portanto, sugiro que você estude e jogue com ele sozinho