[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Teste automatico pra rede2
From: |
Augusto, Alexandre |
Subject: |
RE: Teste automatico pra rede2 |
Date: |
Mon, 5 Jul 2004 13:11:58 -0500 |
Valeu Rodolfo,
Isso deve dar certo, porem ainda não está dando ...
acho que é problema de lógica
as duas checagens, ping e telnet estão dando "falso/positivo"
se alguem puder ajudar, segue o script inteiro
abraço
Alexandre
#######---------------------
#!/bin/ksh
#####################################------------###########################
###################
#scrpit que testa conexoes antes de instalar o Opsware!
# Alexandre Dust
# versao 0.01
# testa com ping nos nomes, telnet nas portas, e grava em log pra ser
enviado pra address@hidden caso haja problemas
#####################################------------###########################
###################
trap 'echo "O Script foi parado com <CTRL+C> com sinal trap... " ; exit 1' 1
2 3 15
UNAME=$(uname)
PINGCOUNT=5
PACKETSIZE=56
typeset -u PINGNODES
PINGNODES="TRUE"
#DIR=$(pwd)
HOSTLIST="hostlist.txt"
if [ $HOSTLIST ]
then
HOSTLIST=$(cat $HOSTLIST |grep -v '^#')
else
echo "ERROR: cade o arquivo chamado $PINGFILE ?"
echo "A Lista dos arquivos dos hosts nao foi encontrda"
exit 2
fi
PINGSTAT=3
PINGSTAT2=3
ESTEHOST=$UNAME
SAIDA="ping_log"
integer INTERVAL="1"
## Comeca as funcoes aqui
function ping_host
{
HOST=$1
case $UNAME in
AIX|Linux)
ping -c${PINGCOUNT} $HOST 2>/dev/null
;;
HP-UX)
ping $HOST $PACKETSIZE $PINGCOUNT 2>/dev/null
;;
SunOS)
ping -s $HOST $PACKETSIZE $PINGCOUNT 2>/dev/null
;;
*)
echo " ERROR : Sistema operacional desconhecido -$#"
echo "\n Saindo ... ... ...\n"
exit 1
esac
}
ping_host
function ping_no
{
if [[ $PINGNODES = "TRUE" ]]
then
echo " esperando ... ... ..."
for HOSTPING in $(echo $HOSTLIST)
do
echo " ZZzz... pingando --> ${HOSTPING} ... "
#Pinga o host $PINGCOUNT vezes e pega o valor para os pings recebidos de
volta
sleep $INTERVAL
PINGSTAT=$(ping_host $HOSTPING |grep "packet" |awk '{print $3}' >
$SAIDA)
## pega o resultado do ping e checa se o valor e igual a zero
if [[ -z "$PINGSTAT" && "$PINGSTAT" = '' ]]
then
echo "Host desconhecido"
continue
fi
if (( PINGSTAT == 0))
then
echo " Host desconhecido, testando + uma vez ..."
sleep $INTERVAL
PINGSTAT2=$(ping_host $HOSTPING |grep "packet" |awk '{print $3}')
if (( PINGSTAT2 == 0))
then
echo "Sem chance, Host desconhecido mesmo"
else
echo "OK"
fi
else
echo "OK"
fi
done
fi
}
ping_no
#Comeca o teste do telnet
TELPORT="1001,1003,1004,1008"
LOG="telnet_log.txt"
SERVIDORES="serversClosed.txt"
function telnet_ops
{
if [[ $PINGNODES = "FALSE" ]]
then
echo " esperando ... ... ..."
else
for HOSTPING in $(echo $HOSTLIST)
do
for TELPORT in $(echo $TELPORT)
do
echo " ZZzz... tentando telnet nas portas -->
${TELPORT}"
(sleep 1 ; echo 33 ; sleep 1 ; echo quit) | telnet ${HOSTLIST}
${TELPORT}> /dev/null 2> $LOG
if [ `grep refused $LOG` ]; then
echo "$HOSTLIST $TELPORT *** Not OK ***"
else
echo "$HOSTLIST $TELPORT *** OK ***"
fi
done < $SERVIDORES
done
fi
}
telnet_ops
############---------------------
-----Original Message-----
From: Rodolfo Villanova
[mailto:address@hidden]
Sent: segunda-feira, 5 de julho de 2004 10:16
To: address@hidden
Subject: RES: [shell-script] Teste automatico pra rede
Fala, Alexandre,
Já faz um bom tempo que lancei uma pergunta sobre esse mesmo assunto nesta
lista.
Com a ajuda do Julio Neves, implementei um script que testa o serviço telnet
para cada endereço IP.
A parte interessante aqui é que separei os IPs e portas de serviço do corpo
do script, que não precisaria mais ser alterado caso seja necessário incluir
mais máquinas a serem testadas.
No recorte abaixo, segue o trecho que faz o desejado:
---------------------------
while read -r IP PORT resto
do
(sleep 1 ; echo \033 ; sleep 1 ; echo quit) | telnet $IP $PORT >
/dev/null 2> $LOG
if [ -z "`grep refused $LOG`" ]; then
echo "$IP $PORT *** OK ***"
else
echo "$IP $PORT *** FALHA ***"
fi
done < $SERVIDORES
---------------------------
Espero que essa sugestão te sirva de inspiração para implementares uma
versão que seja a mais adequada às necessidades do ambiente.
[]s
--------------------------
Rodolfo D. Gross Villanova
> -----Mensagem original-----
> De: Alexandre [mailto:address@hidden]
> Enviada em: segunda-feira, 5 de julho de 2004 09:26
> Para: address@hidden
> Assunto: [shell-script] Teste automatico pra rede
>
>
> o Netcat é legal ...
> Nagios ? pra testar rede via linha de comando ? ( não é monitoração, é
> script pre install ) acho que não é o caso ...
>
> eu preciso dar telnet em 6 portas pra saber se elas estão ouvindo
> preciso fazer algo que não dependa de nada instalado na máquina pois
> vou trabalhar com Linux, Aix, HP-UX, Solaris em varias versões ...
> nese caso o netcat nao atende ... tem que ser na base do script mesmo,
> e em ksh... Num pode nem ser em perl. Alguem pode ajudar ?
>
> obrigado
>
> Alexandre
>
> --- Em address@hidden, Jorge Pereira <jorge@j...>
> escreveu
> > Ola, que tal você utilizar a ferramenta nc?!? (NetCAT), acho que
> seria
> > bem melhor....
> > Se você está querendo algo para analize de rede procure pelo
> > "nagios", pois e uma ferramenta excelente!!!! ok?
> >
> > ate mais!
> >
> > Alexandre escreveu:
> >
> > > Pessoal,
> > > Preciso fazer um testador automatico pra rede pra colocar junto
> > > com um instalador de um software. Esse teste precisa pingar, dar
> > > um telnet em 6 portas especificas, e rodar um trace gravando num
> > > log, fazendo esses testes por nome e nao por IP.
> > > Eu ja consegui fazer a primeira parte, que é pingar por nome e
> > > retornar os erros, mas o telnet eu nao sei como pegar o retorno e
> > > classificar em OK, ou NotOK ...
> > > alguem pode ajudar ?
> > > Quando terminar esse brinquedo, eu mando pra lista comentado, pois
> > > acho que vai ser útil a muita gente ...
> > >
> > > abraço
> > >
> > > Alexandre
> > >
> > >
> > >
> > >
> > > ------------------------------------------------------------------
> > > ---
> > > Esta lista não admite a abordagem de outras liguagens de programação,
> > > como perl, C etc. Quem insistir em não seguir esta regra será
> moderado
> > > sem prévio aviso.
> > > ------------------------------------------------------------------
> > > ---
> > > Sair da lista: address@hidden
> > > ---------------------------------------------------------------------
> > > Esta lista é moderada de acordo com o previsto em
> > > http://www.listas-discussao.cjb.net
> > > ---------------------------------------------------------------------
> > >
> > >
> > >
> > > Yahoo! Grupos, um serviço oferecido por:
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=0/SIG=11d1a28j5/*
> http://abr= il.assineabril.com/yahooespecial3>
>
> > >
> > > Assine Claudia
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=1/SIG=11d1a28j5/*
> http://abr= il.assineabril.com/yahooespecial3>
>
> > > em
> > > 5x de R$ 18,96 Assine Info
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=2/SIG=11d1a28j5/*
> http://abr= il.assineabril.com/yahooespecial3>
>
> > > em
> > > 5x de R$ 21,48
> > > Mais...
> > > Capricho
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=3/SIG=11djt2d3m/*
> http://abr= il.assineabril.com/yahooespecial2>
>
> > > Manequim
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=4/SIG=11djt2d3m/*
> http://abr= il.assineabril.com/yahooespecial2>
>
> > > Boa Forma
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=5/SIG=11djt2d3m/*
> http://abr= il.assineabril.com/yahooespecial2>
>
> > > Nova
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=6/SIG=11djt2d3m/*
> http://abr= il.assineabril.com/yahooespecial2>
>
> > > Exame
> > >
> <http://br.rd.yahoo.com/SIG=12a2qtue3/M=264105.3931087.6226562.158
> 8051/D=br=
> clubs/S=2137111254:HM/EXP=1089039333/A=2195395/R=7/SIG=11djt2d3m/*
> http://abr= il.assineabril.com/yahooespecial2>
>
> > >
> > >
> > >
> > >
> ----------------------------------------------------------------------
> --
> > > Links do Yahoo! Grupos
> > >
> > > * Para visitar o site do seu grupo na web, acesse:
> > > http://br.groups.yahoo.com/group/shell-script/
> > >
> > > * Para sair deste grupo, envie um e-mail para:
> > > address@hidden
> > >
> <mailto:address@hidden?subject=Unsubscrib
> e>
> > >
> > > * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do
> > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>.
> > >
> > >
> >
> > --
> > Atenciosamente: Jorge Pereira
> > Técnico e Analista de Segurança em Redes Linux
> > Fone: +55 (81) 9606-7426 - (Recife/PE)
> > Site: http://www.jorgepereira.com.br/
> > E-mail: jorge@j..., jorge@i...
> > --
> >
> >
> >
> >
> > [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação,
> como perl, C etc. Quem insistir em não seguir esta regra será moderado
> sem prévio aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- RE: Teste automatico pra rede2,
Augusto, Alexandre <=