A coisa mais simples, claro, seria tentar se conectar, se ele pedir uma senha, então você sabe que precisa de uma.
Outra abordagem, presumivelmente mais próxima do que você tinha em mente é
/sbin/iwlist wlan0 scan
O comando acima usará a interface sem fio wlan0
(altere-a para o nome da interface na sua máquina) para verificar as redes sem fio disponíveis. Ele retorna muitas informações, portanto, para simplificar, analise sua saída:
/sbin/iwlist wlan0 scan |
awk -F: '{if($1~/Encryption/){k=$2}if($1~/ESSID/){print $2,k}}'
Isso imprimirá uma lista de ESSIDs (nomes de rede) assim:
Network1 on
Network2 off
Em que on
significa que a rede está usando criptografia e off
que não está.