Conexão Wi-Fi

Publicado por Perfil removido (última atualização em 05/04/2013)

[ Hits: 7.512 ]

Download wifi.sh




Um simples script para se conectar à uma rede Wi-Fi. Para executá-lo (chmod +x wifi.sh) é necessário logar como root (su -).

Obs.: para conexões WPA2 ele usa o WPA Supplicant.

  



Esconder código-fonte

#!/bin/sh
#Simples script para conexões Wi-Fi

# Verifica se o script está sendo executado pelo root. 
if [ "`id -u`" != "0" ]; then
echo 'Este script precisa ser executado como root. Digite "su -" para se logar
como root e execute o script novamente. 
Se você está usando o Ubuntu, defina a senha de root usando o comando 
"sudo passwd" e em seguida logue-se usando o "su -". Fechando...'
read pausa
exit
fi

#Filtra infos do scan armazenando em um arquivo tmp de acordo com a interface
echo "Interface:"
read int
ifconfig $int up
iwlist $int scan > /tmp/mytmp.tmp
cat /tmp/mytmp.tmp | grep ESSID
cat /tmp/mytmp.tmp | grep Channel:
cat /tmp/mytmp.tmp | grep Address:
cat /tmp/mytmp.tmp | grep Quality
cat /tmp/mytmp.tmp | grep Encryption
cat /tmp/mytmp.tmp | grep Mode
cat /tmp/mytmp.tmp | grep WPA

#Opção para de rede com WPA
WPA()
{
#Reinicia a interface
ifconfig $int down
ifconfig $int up

#Conecta através do wpa_supplicant
echo "ESSID:"
read essid
echo "Senha:"
read senha
wpa_passphrase $essid $senha > /etc/wpa_supplicant.conf
wpa_supplicant -i $int -c /etc/wpa_supplicant.conf -B -D wext
sleep 2

#Filtra infos da conexão
iwconfig $int > /tmp/mytmp.tmp
cat /tmp/mytmp.tmp | grep Access
ifconfig $int > /tmp/mytmp.tmp
cat /tmp/mytmp.tmp | grep inet
rm -f /tmp/mytmp.tmp  #Remove arquivo tmp

#Oferece o DHCP e encerra
echo "Ativar DHCP? s ou n:"
read rdwphcp
[ "$rwpdhcp" = "s" ] && dhclient $int || exit
}

#Opção para rede com WEP
WEP()
{
#Desativa a interface e recolhe infos para o comando
ifconfig $int down
echo "ESSID:"
read essid
echo "Canal:"
read canal

#Pergunta qual tipo de codificação da senha e roda seu respectivo comando
echo "Tipo de senha: HEX=1 ou ASCII=2"
read tsenha
if [ "$tsenha" = "1" ]; then
 echo "Senha:"
 read myhsenha
 iwconfig $int key restricted $myhsenha
elif [ "$tsenha" = "2" ]; then
 echo "Senha:"
 read myasenha
 iwconfig $int key restricted s:$myasenha
else
 echo "Opção invalida"
 sleep 1
 exit
fi

#Comando para a conexão
iwconfig $int essid $essid
iwconfig $int channel $canal
ifconfig $int up
sleep 2

#Filtra infos da conexão
iwconfig $int > /tmp/mytmp.tmp
cat /tmp/mytmp.tmp | grep Access
ifconfig $int > /tmp/mytmp.tmp
cat /tmp/mytmp.tmp | grep inet
rm -f /tmp/mytmp.tmp  #Remove arquivo tmp

#Oferece o DHCP e encerra
echo "Ativar DHCP? s ou n:"
read rwdhcp
[ "$rwdhcp" = "s" ] && dhclient $int || exit
}

#Opção para rede púplica
OpenKey()
{
#Desativa a interface e recolhe infos para o comando
ifconfig $int down
echo "ESSID:"
read essid
echo "Canal:"
read canal
#Comandos para a conexão
iwconfig $int essid $essid
iwconfig $int channel $canal
iwconfig $int key off
ifconfig $int up
sleep 2

#Filtra infos da conexão
iwconfig $int > /tmp/mytmp.tmp
cat /tmp/mytmp.tmp | grep Access
ifconfig $int > /tmp/mytmp.tmp
cat /tmp/mytmp.tmp | grep inet
rm -f /tmp/mytmp.tmp  #Remove arquivo tmp

#Oferece o DHCP e encerra
echo 'Ativar DHCP? s ou n:'
read rdhcp
[ "$rdhcp" = "s" ] && dhclient $int || exit
}

#Pergunta qual opção de conexão à utilizar
echo 'Conectar? WPA=1, WEP=2, OpenKey=3 ou Sair=s:'
read resposta
case $resposta in
1)WPA;;
2)WEP;;
3)OpenKey;;
s)rm -f /tmp/mytmp.tmp
echo 'Bye sir.'
exit;;
*)echo 'Ops, você digitou uma opção inválida. Fechando...'
exit;;
esac

Scripts recomendados

Prova LPI em shell script - com contador de acertos

Antiprotetor de links

Baixando arquivos do Megaupload

tag-mp3 - Um script para editar e/ou visualizar algumas tags ID3 de arquivos MP3

Reiniciar um serviço de acordo com o consumo de memória.


  

Comentários
[1] Comentário enviado por MAPOGOS em 08/04/2013 - 01:41h

Legal eu verifiquei q até configura de modo de segurança e criptografia muito interessante...

[2] Comentário enviado por tiekookeit em 10/04/2013 - 10:42h

Show!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts