NetworkManager tem um excelente back-end de linha de comando chamado nmcli . O pequeno inconveniente é que alguns comandos em 15.04 diferem da versão 14.04 do nmcli .
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 uma linha que diga key-mgmt .
$ nmcli con list id "SergWifi" | awk '/key-mgmt/ {print }'
wpa-psk
Assim, sabemos que este 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 }'
Aqui, manipulamos apenas nmcli com -t flag para nos fornecer apenas o nome do ponto de acesso sem o cabeçalho bonito e o usamos nos colchetes de substituição de parâmetro $( . . .) e fornecemos como entrada nmcli con list id para lista de dados sobre esse ponto de acesso. Finalmente, awk apenas filtra a linha necessária.
Se você tiver conexão Wi-Fi 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 }' . O restante do processamento seria o mesmo acima.
Ubuntu 15.04
Os comandos acima traduzem em 15.04 da seguinte forma:
-
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: no Ubuntu 14.04 há nm-tool que lista informações sobre suas conexões atuais em um formato prontamente organizado, mas não está presente em 15.04, então eu sugiro que você estude e brinque com por conta própria