Conexão Wi-Fi
Publicado por Perfil removido (última atualização em 05/04/2013)
[ Hits: 7.834 ]
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
Configurar usuarios samba na boa sem dor de cabeça em modo texto
usando a lixeira em modo texto
filelist2link - converte lista de pacotes de um repositório em uma lista de links para o wget
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Opções secretas em tema do Cinnamon
Como mapear unidade de rede no Linux
Como quebrar senha usando john the ripper
Alguém já testou o novo COSMIC Desktop? O que achou? (5)
Alguém pode me indicar um designer freelancer? [RESOLVIDO] (2)
Por que passar nas disciplinas da faculdade é ruim e ser reprovado é b... (2)









