Identificando sinal de rede sem fio em modo texto
Publicado por Wesley Henrique Leite (última atualização em 13/02/2012)
[ Hits: 5.973 ]
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
Script para enviar email, avisando quando alguem loga na maquina
Configuração Teclado ABNT2 (Gnome3)
Script para configuração inicial do seu Linux
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Como Atualizar Fedora 39 para 40
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
erro ao clonar repo github (3)
Clamav e suas atualizações (25)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (23)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba