Configuração de rede wireless (WPA)
Publicado por Dix (última atualização em 01/08/2014)
[ Hits: 3.073 ]
Criei um script básico para configurar a interface wireless desejada. Para isso, basta alterar as variáveis ou criar uma função personalizada seguindo as que já estão lá. É só não esquecer que alterar o "case" no final do script.
#!/bin/bash # # Shell Script - Configurador de Rede Wireless 3.0 by huddioli # ======================= # by huddioli - 2014-07-29 # # Testado no bash Debian 7 # # Utiliza o "iwconfig", "dhclient", "wpa_passphrase", "wpa_supplicant" # E o script "firewall.sh"; Pode ser personalizado, basta colocar o seu script pessoal # Esse Script foi criado para conectar a redes Wireless com senha WPA # Tirei as funcoes das senhas WEP, pois esse metodo é muito vulneravel # # Para executar o Script: rede_vol <opçoes> # # VARIAVEIS # Para onde irao as saidas de erros LOG_ERRO='/tmp/erro_script_rede.log' # Para onde irao as saidas padrao dos programas LOG_REDE='/tmp/script_rede.log' # Lista de Interfaces Eth e Wlan IFACES_1='/tmp/ifaces.txt' # Arquivo Temporario IFACES_2='/tmp/ifaces2.tmp' # Hora definida para registrar no arquivo de LOG AGORA=`date +%Y_%m_%d_%H:%M:%S` # # Montagem do inicio dos arquivos de LOG echo -e "{FONTE}33[01;31m##################$AGORA##################{FONTE}33[01;37m\n" >> $LOG_ERRO echo -e "{FONTE}33[01;31m##################$AGORA##################{FONTE}33[01;37m\n" >> $LOG_REDE # Funcoes para configurar as variaveis da Rede Wireless # Caso a configuracao de Rede seja via DHCP defina IP='dhcp' # Caso contrario IP='10.5.1.1' MASCARA='255.255.255.0' DNS='10.5.1.254' # O Proxy ainda nao implementei e nem o RTS e FRAG, mas vou atualizar function ConfiguraIPTrabalho(){ PLACA='wlan0' SSID='trabalho' PONTO_DE_ACESSO='54:E6:FC:D6:DB:DB' SENHA='VivaOLinux$AteAProxyma' CANAL='10' IP='10.5.1.100' MASCARA='255.255.255.0' GATEWAY='10.5.1.1' DNS='10.5.1.1' PROXY='' FIREWALL='firewall.sh' } function ConfiguraIPCasa(){ PLACA='wlan0' SSID='Casa' PONTO_DE_ACESSO='54:E6:FC:D6:DB:DB' SENHA='TesteDeScriptPessoal' CANAL='1' IP='dhcp' MASCARA='' GATEWAY='' DNS='' PROXY='' FIREWALL='firewall.sh' } function ConfiguraIP2(){ PLACA='wlan0' IP='10.5.1.3' MASCARA='255.255.255.0' GATEWAY='10.5.1.200' DNS='10.5.1.200' PONTO_DE_ACESSO='00:24:01:00:24:01' SSID='jaca' SENHA='T3st3D3ScriptPesso@l' CANAL='11' FIREWALL='firewall.sh' } # function ProcuraInterfaces(){ # Essa funcao simplesmente cria uma lista com as interfaces eth e wlan if [ -e $IFACES_1 ]; then rm -f $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE fi if (\ ifconfig -a | grep eth >> $IFACES_1 && \ ifconfig -a | grep wlan >> $IFACES_1 &&\ cat $IFACES_1 | while read LINHA; \ do echo $LINHA| cut -d" " -f 1 >> $IFACES_2; done && \ rm -f $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE && \ mv $IFACES_2 $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE); then return 0 else return 1 fi } function DesativaPlacas(){ # Essa funcao desativa todas as placas que estao listadas no arquivo $IFACES_1 (1) echo -e "{FONTE}33[01;37m" echo -n "Encerrando programas de rede ................................" if (\ /etc/init.d/network-manager stop 2>> $LOG_ERRO >> $LOG_REDE && \ killall -q wpa_supplicant 2>> $LOG_ERRO >> $LOG_REDE && \ iwconfig $PLACA key off 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi echo -e "\nConfigurando rede $SSID" echo echo "Desativando interfaces de rede:" # (1) if [ -e $IFACES_1 ]; then cat $IFACES_1 | while read INTERFACE do echo -n "--Desativando interfaces de rede $INTERFACE ................." if (\ ifconfig $INTERFACE down 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]" fi done else echo "Arquivo $IFACES_1, não existe!" fi echo -n "Finalizando os serviços de rede ............................." if(\ iwconfig $PLACA key off 2>> $LOG_ERRO >> $LOG_REDE && \ /etc/init.d/networking stop 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi } function ConfiguraRede(){ ProcuraInterfaces DesativaPlacas echo -n "Processando chave WPA de rede ..............................." if (\ wpa_passphrase $SSID $SENHA > /etc/wpa_supplicant/wpa_supplicant.conf 2>> $LOG_ERRO && \ wpa_supplicant -i $PLACA -c /etc/wpa_supplicant/wpa_supplicant.conf -B -D wext 2>> $LOG_ERRO); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi echo -n "Configurando ACCESS-POINT na interface $PLACA ................" if (\ iwconfig $PLACA essid $SSID 2>> $LOG_ERRO >> $LOG_REDE && \ iwconfig $PLACA channel $CANAL 2>> $LOG_ERRO >> $LOG_REDE && \ iwconfig $PLACA ap $PONTO_DE_ACESSO 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi echo -n "Configurando FIREWALL ......................................." if (\ $FIREWALL start 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi if [ $IP = 'dhcp' ]; then echo -n "Configurando endereco IP (DHCP) na PLACA $PLACA .............." if (\ dhclient -r 2>> $LOG_ERRO >> $LOG_REDE && \ dhclient $PLACA 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi else if [ $PLACA = '' ] || [ $IP = '' ] || [ $MASCARA = '' ]; then echo -e "[{FONTE}33[01;31m Faltam dados de Configuração da Placa (PLACA, IP, MASCARA) {FONTE}33[01;37m]" else echo -n "Configurando endereco IP na PLACA $PLACA ....................." if (\ ifconfig $PLACA $IP netmask $MASCARA 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi fi if [ $GATEWAY != '' ]; then echo -n "Configurando GATEWAY ........................................" if (\ route add -net default gw $GATEWAY 2>> $LOG_ERRO >> $LOG_REDE); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi fi if [ $DNS != '' ]; then echo -n "Configurando DNS ............................................" if (\ echo "nameserver " $DNS > /etc/resolv.conf 2>> $LOG_ERRO); then echo -e "[{FONTE}33[01;32m OK {FONTE}33[01;37m]"; else echo -e "[{FONTE}33[01;31m Erro {FONTE}33[01;37m]"; fi fi fi echo } case $1 in trabalho) ConfiguraIPTrabalho ConfiguraRede ;; rede2) ConfiguraIP2 ConfiguraRede ;; casa) ConfiguraIPCasa ConfiguraRede ;; *) echo "Nenhuma configuracao válida foi selecionada!!" esac # Termina de editar o arquivo de LOG echo -e "\n\n{FONTE}33[01;31m#######################################################{FONTE}33[01;37m\n\n" >> $LOG_ERRO echo -e "\n\n{FONTE}33[01;31m#######################################################{FONTE}33[01;37m\n\n" >> $LOG_REDE # Exclui o arquivo que contém a lista das placas de redes rm -f $IFACES_1 2>> $LOG_ERRO >> $LOG_REDE
Testar várias portas TCP para um único host/IP
Slackware Interface Install - Instalação de Interfaces gráficas no Slackware
Nenhum comentário foi encontrado.
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Acessar ftp por nome ao invés de ip [RESOLVIDO] (5)
Estou com sede em aprender sobre o nosso querido Linux. (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta