Conectando-se a redes sem fio na linha de comando

5

Eu preciso escrever um script de shell que se conecta a uma das duas conexões wi-fi disponíveis. Uma é uma conexão não segura e a outra é uma conexão segura. Minha pergunta tem 2 partes -

  1. Como se conectar à conexão desprotegida (não criptografada e sem senha) da linha de comando (ou executando um script de shell) quando estou conectado à conexão segura?

    Eu segui os passos no link para Conexão segura. Eu coloquei todos os comandos em um script e o executei (eu me certifiquei de que o nome da interface e o essid estão corretos)

    sudo dhclient -r wlan0
    sudo ifconfig wlan0 up
    sudo iwconfig wlan0 essid "UAPublic"
    sudo iwconfig wlan0 mode Managed
    sudo dhclient wlan0
    

    Mas nada acontece: não estou desconectado da rede atual e conectado ao novo.

  2. Quando quero me conectar à rede wi-fi segura, eu entendo pelo link que preciso usar% código%. Mas eu entro em muitos detalhes na interface quando me conecto via interface do usuário

    • segurança: empresa wpa e wpa2
    • Autenticação: PEAP
    • Certificado CA: Equifax ...
    • Versão PEAP: automática
    • autenticação interna: MSCHAPv2
    • nome de usuário:
    • senha:

Como usar o wpa_supplicant para mencionar todos esses detalhes na linha de comando? O arquivo conf

network={
        ssid="ssid_name"
        psk="password"
}

não funciona para mim.

    
por Balaji 14.06.2012 / 22:38

1 resposta

8

Estou assumindo que você está usando o Ubuntu Desktop, como você não especificou de outra forma.

Você pode criar uma configuração de rede sem fio que será gerenciada pelo Network Manager criando arquivos em /etc/NetworkManager/system-connections . Veja os arquivos existentes para ver como é o formato.

Uma vez que a conexão é criada, você pode usar o comando nmcli para gerenciar o NetworkManager a partir da linha de comando, fazendo coisas como habilitar, desabilitar e consultar conexões.

A propósito, a ferramenta de teste do sistema (checkbox) tem um script que faz exatamente isso: cria uma conexão e a ativa, com parâmetros que você fornece na linha de comando.

Por exemplo, isso cria uma conexão com a rede "duck" aberta:

sudo /usr/share/checkbox/scripts/create_connection duck

Isso criará uma conexão a uma rede usando a segurança WPA2, com a senha "wings":

sudo /usr/share/checkbox/scripts/create_connection -S wpa -K wings duck

O script é escrito em Python, então deve ser fácil para você olhar e se adaptar às suas necessidades.

A ajuda do script diz isso:

Usage: create_connection [options] SSID

Options:
  -h, --help            show this help message and exit
  -S SECURITY, --security=SECURITY
                        The type of security to be used by the connection.
                        One of wpa and wep. No security will be used if
                        nothing is specified.
  -K KEY, --key=KEY     The encryption key required by the router.
  -U UUID, --uuid=UUID  The uuid to assign to the connection for use by
                        NetworkManager. One will be generated if not
                        specified here.
  -R RETRIES, --retries=RETRIES
                        The number of times to attempt bringing up the
                        connection until it is confirmed as active.
  -I INTERVAL, --interval=INTERVAL
                        The time to wait between attempts to detect the
                        registration of the connection.
    
por roadmr 14.06.2012 / 23:23