Script de verificar sinal

1. Script de verificar sinal

Heber José Mendes Nunes Filho
hebinho

(usa Slackware)

Enviado em 02/04/2013 - 17:04h

Boa Tarde, preciso desenvolver um shell script para verificar a qualidade do sinal dos clientes mais estou tendo algumas dificuldades.

tenho que tratar esses paramos.

conteudo do arquivo teste.txt

"mac": "aa:ee:ii:oo:uu:nn",
"name" : "TESTE",
"lastip" : "10.0.0.5",
"signal" : -59,
"ccq" : 99,
"stats" : {
"rx_data" : 25453,
"rx_bytes" : 8278144,
"rx_pps" : 0,
"tx_data" : 21317,
"tx_bytes" : 3288176,
"tx_pps" : 0 },

"mac": "01:02:03:04:05:06",
"name" : "TESTE2",
"lastip" : "10.0.0.6",
"signal" : -26,
"ccq" : 99,
"stats" : {
"rx_data" : 25453,
"rx_bytes" : 8278144,
"rx_pps" : 0,
"tx_data" : 21317,
"tx_bytes" : 3288176,
"tx_pps" : 0 },


filtando o conteudo com - cat teste.txt |egrep '(signal|mac)'
tenho esse resultado

"mac": "aa:ee:ii:oo:uu:nn",
"signal" : -59,
"mac": "01:02:03:04:05:06",
"signal" : -26,

agora preciso criar uma forma de comparar o sinal que eu quero que seja parametro para comparar com o sinal do cliente e derrubar a conexao.

ex: se o cliente estiver com sinal -80 ele executa o comando iwpriv ath0 kickmac 01:02:03:04:05:06



  


2. Script de verificar sinal

edgar
edgaroliveirace

(usa Ubuntu)

Enviado em 07/11/2013 - 11:37h

cara ja fiz isso q vc quer!
eu nao passo a senha do ssh pq coloco chaves neles.
esse script faz uma varedura na faixa de ip 192.168.0.1-254 pega os IPs em uso e acessa vis ssh e pega os sinais dos clientes e é tratado por mac,sinal,ccq,noisefloor e acessa o banco do mkauth procura o cliente com o mac achado e add os campos sinal,mac,noisefloor dentro do banco.

#!/bin/bash
USUARIO="ubnt"
PORTA_SSH="22"
PASTA_LOGS="/usr/local/mkauth/sinal/logs"
COM_SQL="mysql -u root -pvertrigo -e"
#COMANDO_NANOS='uname -n;wstalist|egrep "(mac|signal|noisefloor)"'
rm -rf $PASTA_LOGS/*.sql

probe () {
ping -c1 -w5 $1 >&- 2>&- && touch /tmp/pingfail.$1
}
rm /tmp/pingfail.* 2>&-
for i in $(seq 2 254); do
# aqui voce colocar a faixa de ip dos nanos, rocket....
probe 192.168.0.$i &
done
wait
for failip in /tmp/pingfail.*; do
#HOSTNAME=$(ssh -l $USUARIO -p $PORTA_SSH ${failip#*.} uname -n)
ssh -l $USUARIO -p $PORTA_SSH ${failip#*.} 'wstalist|egrep "(mac|signal|ccq|noisefloor)"|egrep -v signals'|xargs -L5|cut -c 1-66|tr -d ","| sed -e 's/mac:/|/g;s/signal :/|/g;s/ccq :/|/g;s/noisefloor:/|/g;' | while read Linha; do
mac_clie=$(echo $Linha|cut -d "|" -f2|sed 's/ //g')
sinal_clie=$(echo $Linha|cut -d "|" -f3|sed 's/ //g')
ccq_clie=$(echo $Linha|cut -d "|" -f4|sed 's/ //g')
noisefloor_clie=$(echo $Linha|cut -d "|" -f5)
$COM_SQL "UPDATE sis_cliente SET sinal=$sinal_clie, ccq=$ccq_clie, noisefloor=$noisefloor_clie WHERE mac=\"$mac_clie\"" mkradius
done
done
rm /tmp/pingfail.* 2>&-


exit 0







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts