Conexão rede Wifi com autenticação WPA2 - TKIP na console

1. Conexão rede Wifi com autenticação WPA2 - TKIP na console

Alexandre Barelli
ale156ale

(usa Debian)

Enviado em 31/05/2015 - 09:58h

Conexão de rede WIFI com autenticação WPA2 - TKIP na console usando os comando IW e wpa_supplicant.

Após dias de tentativas de conexão via console e consulta a inúmeros fóruns, finalmente criei um script para auxiliar na configuração da rede WIFI e conexão via console.
1) Abra um arquivo em um editor de texto;
2) copie o conteúdo do abaixo no editor;
3) salve com o nome desejado. Sugiro wlan.sh
4) revise as sintaxes dos comandos se está tudo certo.

Modo de uso:
O script por si só cria o arquivo /etc/wpa_supplicante.conf com base nas informações fornecidas.
Para uso inicial digite wlan.sh <minharede> <minhasenha>. Ex.: wlan.sh LINux senha123 . Nesse caso o sistema criará as configurações para a rede LINux com a senha WPA2 senha123. Atenção as letras maiúscula e minúsculas pois o script é case sensitive.
Após isso, o script mostrará as redes ativas ao alcance e a rede que esta configurada. Tentará fazer a conexão e atribuir automaticamente um DHCP.
Em não sendo possível, retornará um código de erro de falha de conexão.

Esse script poderá ser plenamente adaptável a qualquer necessidade (como por exemplo a geração automática em roteadores que não possuam DHCP e sim IP estático com alterações do /etc/network/interfaces).
Esse script fora testado no Debian e deve ser compatível com o Ubuntu.
Necessários os pacotes IW e WPA_SUPPLICANT.
Outras distribuições poderão ser adaptadas para utilização correspondente. Porém, não testei nessas outras distribuições.

Fica a dica e boa sorte !!
Abraços
Alexandre Antonio Barelli

#!/bin/bash
#script conexão console WPA2 TKIP
#criado por Alexandre Antonio Barelli em 30/05/2015
#v. 1.0
#
#modo de uso: se passado parâmetro ./wlan.sh <minharede> <senha> o programa irá gerar
# /etc/wpa_supplicant.conf automaticamente
# se não passado nenhum parâmetro o ./wlan.sh irá conectar com a conexão padrão
#

# verifica se passou parâmetro de ajuda --help ou -h
if [ "$1" == "--help" ] || [ "$1" == "-h" ]; then
echo -e "\nUse wlan.sh <minharede> <senha> para alterar /etc/wpa_supplicant.conf se quiser alterar rede default"
echo -e " wlan.sh sem parâmetros utiliza as configurações padrão de /etc/wpa_supplicant.conf"
exit 0
fi

# verifica se passou parâmetros de rede e cria wpa_supplicant.conf
if [ "$1" != "" ] && [ "$2" != "" ]; then
read -p "rede = $1 e senha = $2 - Confirma ? [yes | no]: " CONFIRMA
if [ "$CONFIRMA" == "yes" ]; then
sudo mv /etc/wpa_supplicant.conf /etc/wpa_supplicant.conf.old
sudo bash -c "echo -e '# Gerado pelo script de Alexandre Antonio Barelli em `date`\n#\n# Parâmetros Globais\n#\nctrl_interface=/var/run/wpa_supplicant' > /etc/wpa_supplicant.conf"
sudo bash -c "echo -e 'ctrl_interface_group=root\neapol_version=2\nap_scan=1\nfast_reauth=1' >> /etc/wpa_supplicant.conf"
sudo bash -c "echo -e '#\n# Parâmetros de rede\n#\nnetwork={\n ssid=\"$1\"\n scan_ssid=0\n # bssid=00.11.22:aa:bb:cc\n priority=10' >> /etc/wpa_supplicant.conf"
sudo bash -c "echo -e ' mode=0\n proto=RSN\n key_mgmt=WPA-PSK\n auth_alg=OPEN\n pairwise=TKIP\n group=TKIP\n # psk=\"$2\"' >> /etc/wpa_supplicant.conf"
sudo bash -c "wpa_passphrase $1 $2 | grep -v '#psk=' | grep 'psk' >> /etc/wpa_supplicant.conf"
sudo bash -c "echo -e ' mixed_cell=0\n}' >> /etc/wpa_supplicant.conf"
else
echo "saindo ..."
exit 1
fi
fi

#se não ativo, ativa wlan0
if [ "`sudo ifconfig | awk '{ print $1}' | grep wlan0`" != "wlan0" ]; then
sudo ifconfig wlan0 up
fi

# indica quais redes estão no alcance
sudo echo -e "redes disponíveis ...\n"
sudo iw wlan0 scan | grep SSID

#indica qual a rede atualmente configurada
sudo echo -e "rede atual configurada ...\n"
cat /etc/wpa_supplicant.conf | grep ssid | grep -v scan_ssid | grep -v bssid

# mata eventualmente processo anterior do wpa_supplicant
sudo echo -e "matando processos ...."
sudo killall -q wpa_supplicant
sleep 2

# apaga diretório de configurações globais pois emite mensagem de erro se ativo
sudo echo -e "apagando diretório configuração global (/var/run/wap_supplicant) ..."
sudo rm -rf /var/run/wpa_supplicant

#inicia os serviços wpa_supplicant
sudo echo -e "iniciando serviços ..."
sudo wpa_supplicant -B -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
sudo echo -e "aguarde ... conectando ..."
sudo sleep 5

# se OK, cria dhcp, se não, sai com mensagem de erro
if [ "`sudo iw wlan0 link`" != "Not connected." ]; then
sudo dhclient wlan0
sudo sleep 10
sudo echo -e "conectado ... IP: "
sudo ifconfig wlan0 | grep inet | awk '{ print $2 }'
exit 0
else
echo -e "\nNot connected."
exit 1
fi


  


2. Re: Conexão rede Wifi com autenticação WPA2 - TKIP na console

Alexandre Barelli
ale156ale

(usa Debian)

Enviado em 31/05/2015 - 10:01h


Esqueci de mencionar que se não passado parâmetros no wlan.sh, o mesmo utilizará as configurações já existentes no arquivo /etc/wpa_supplicant.conf. Abraços.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts