Identificando sinal de rede sem fio em modo texto
Publicado por Wesley Henrique Leite (última atualização em 13/02/2012)
[ Hits: 6.179 ]
Este script baseia-se no resultado gerado pelo comando "iwlist" imprimindo uma barra colorida de indicador de sinal, nada demais apenas por diversão, foi testado apenas no OpenSuse, mas não acredito ter problemas com outras distros.
Exemplo de Saída:
"DYNAMIC" __________ [ ▒▒▒▒▒▒▒▒ ] WEP
^CYMBOL" ___________ [ ▒▒▒▒▒▒▒▒ ] ???????
Implementei dois modos:
-p (Persistente)
Neste modo a tela do terminal será limpa, em seguida será carregada em tempo real a lista de redes sem fio próximas a você, não é estático, ficará atualizando o tempo todo o sinal, a ordem das redes pode mudar.
-c (Console)
Idêntico ao modo acima, mas não fica atualizando.
Modo de usar:
./wifiSinal.sh -[c|p] <wlanX>
#!/bin/sh # # autor: Wesley Henrique Leite # : wesleyhenrique [-] gmail ['] com function ChecarError { # ESSA FUNCAO EH INVOCADA SEMPRE QUE QUERO VERIFICAR SE # ALGUM ERRO OCORREU NA EXECUCAO DO SCRIPT # SE #? NAO FOR 0 ENTAO TEM ALGUM ERRO if [ $? -ne 0 ] then echo "Ocorreu um erro" exit fi } function ScanRetEssid { # PEGA SID DAS REDES # CHECA SE DEU ALGUM ERRO $IW $LAN scan | egrep "ESSID" | cut -d: -f2 ChecarError } function RetSinal { # RECEBE COMO PARAMETRO O NOME DA REDE # VERIFICA O SINAL DESTA REDE E RETORNA UM NUMERO # DE 0 A 7 # EM SEGUIDA CHECA SE DEU ALGUM ERRO ESSID=$1 SINAL=$($IW $LAN scan | grep -B2 $ESSID | cut -d"=" -f2 | cut -d"/" -f1 | cut -d" " -f1 | sed 's/a-zA-Z//g' ) echo ${SINAL:0:1} ChecarError } function IEEE { # RECEBE COMO PARAMETRO O NOME DA REDE E TENTA # LOCALIZAR O PROTOCOLO UTILIZADO ESSID=$1 W80211=$($IW $LAN scan | grep -A20 $ESSID | egrep -wo "(WPA|WPA2|WEP)" | cut -d: -f2-3 ) if [ -z "$W80211" ] then echo "???????" else echo ${W80211:0:4} fi } function ImprimirBarra { # E FINALMENTE IMPRIME UMA BARRA INFORMANDO # O SINAL DA REDE SINAL=$1 if [ -z $SINAL ] then SINAL=1 fi for i in $(seq 1 7) do if [ $i -le $SINAL ] then echo -ne "{FONTE}33[;32;1m{FONTE}30{FONTE}33[m" fi if [ $i -ge $SINAL ] then echo -ne "{FONTE}33[;37;1m{FONTE}30{FONTE}33[m" fi done ChecarError } function run { # EH A FUNCAO QUE UTILIZO PARA RODAR O SCRIPT NOME=$(ScanRetEssid $LAN) for SID in $NOME do NomeDaRede="$SID __________________" SIG="$(RetSinal $SID)" echo -e "${NomeDaRede:0:20} [ $(ImprimirBarra $SIG) ] $(IEEE $NomeDaRede) " done ChecarError } ## # MAIN ## # CHECA SE SEU ID PRINCIPAL EH DE ROOT # NAO QUE NECESSARIAMENTE DEVA SER # EXISTEM MANEIRAS DE UTILIZA O IWLIST # COM USUARIO.. if [ $EUID -ne 0 ] then echo "Necessita ser root" exit fi # LOCALIZA O EXECUTAVEL DO PROGRAMA PASSADO COMO PARAMETRO IW=$(which iwlist) LAN=$2 if [ -z "$IW" ] then # SE A VARIAVEL QUE CONTEM O IWLIST ESTIVER VAZIA # O IWLIST NAO FOI ENCONTRADO EM SEU SISTEMA echo "iwlist nao encontrado" exit fi # BASICAMENTE O SCRIPT NECESSITA DE DOIS PARAMETROS # SE INFORMAR MENOS OU MAIS QUE DOIS PARAMETRO ELE NAO RODARAH if [ $# -ne 2 ] then printf "Modo de usar\n$0 -[p|c] wlanX\n" exit fi # CASE PARA CHECAR OS PRIMEIROS PARAMETRO case $1 in "-p") clear while [ 1 ] do tput cup 0 0 run done ;; "-c") run ;; esac
Configução básica de uma rede local, roteando e habilitando o firewall
Compactado e descompactador bem interessantee
Rotina de Vacuum para banco de Dados Postgres
Checando a bateria do seu notebook com Ubuntu instalado
tux-gpt - Assistente de IA para o Terminal
Instalação e configuração do Chrony
Programa IRPF - Guia de Instalação e Resolução de alguns Problemas
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
O Que Fazer Após Instalar Ubuntu 25.04
O que você está ouvindo agora? [2] (173)
Copiar Layout do Teclado para aplicar em outra Distribuição (8)
Alguém poderia me ajudar a escolher peças pra montar um desktop? [RESO... (34)