Conexão Wi-Fi
Publicado por Perfil removido (última atualização em 05/04/2013)
[ Hits: 7.920 ]
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.
#!/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
Limpe bibliotecas não utilizadas - new release
Instalar e ativar o tema aero-aio do superkaramba
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









