shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Netcat bidirecional. - Exemplo


From: Leandro Lustosa
Subject: Re: [shell-script] Netcat bidirecional. - Exemplo
Date: Wed, 10 Jan 2007 21:07:39 -0200
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050716)

Sou novato no ramo de shell-script mas la vai! Uso ele para efetuar 
escuta de portas, logar, erguer serviços em alguns casos e enviar 
e-mail, espero que ajude, eis o script:

#!/bin/bash
# by Leandro Lustosa ( slackuser_ )

data=`date +%b\ %d`;
hora=`date +%H:%M:%S`;

ncmd="/usr/bin/nc -z -w 20"
server1="127.0.0.1" # COLOQUE O IP QUE DESEJA MONITORAR
p80="908" # Porta do Servico

# Proxy Anti-Spam
echo "Testando a porta do Anti-Spam..."
$ncmd $server1 $p80 > /dev/null 2>&1
if [ $? != 0 ] ; then
echo "$data $hora (Anti-Spam): Porta do Anti-Spam Falhou!" >> 
/var/log/messages
mail -s "ANTI-SPAM DOWN" address@hidden < /bin/mensagem-down
/usr/local/aksp/aksp_server # Ergue o servico em caso de queda
mail -s "ANTI-SPAM - ESTA NO AR" address@hidden < /bin/messages-up
else echo "$data $hora (Anti-Spam): Proxy Anti-Spam, Esta Funcionando 
Corretamente."
fi
echo Testes Finalizados no Servidor de Anti-Spam.


Fernando Lemes da Silva wrote:

>
> Colegas,
>
> Resolvi brincar com o netcat e refazer um script capengo antigo 
> (funciona,
> mas tem muito remendo envolvendo php, apache, mysql, ..).
>
> Legal, colocando a mão na massa eu verifiquei o que eu precisava e como o
> netcat funciona. Eu preciso que um client envie algumas linhas e 
> depois uma
> linha com um comando (ex. QUIT) que será interpretado pelo server que 
> deve
> retornar uma mensagem em uma linha (ex. OK, ou ERROR).
>
> Então eu fiz:
>
> cat server.pipe |
> nc -l 12345 |
> while read linha; do
> echo $linha
> [ "$linha" = "QUIT" ] && echo "BYE" > server.pipe
> done
>
> As coisas funcionam bem desde que o cliente termine o procedimento, 
> mas se
> a conexão cai inexperadamente o nc morre, o while vai por tabela e 
> fica o cat
> esperando que alguem mande algo para o FIFO para finalmente ele 
> continuar o
> script. Tentei usar o vetor PIPESTATUS para tentar fazer alguma 
> detecção de
> fim do processo, mas ainda não consegui nenhum resultado.
>
> Alguem teria alguma ideia de como resolver isto? Ou algum exemplo de como
> usar o netcat de maneira bidirecional em um script?
>
> Abraços,
>
> -- 
> 0010111100101010010100110100100101000111
> Fernando LEMES da Silva
> www.koho.com.br (0x53E56DAA)
> 0101001101001001010001110010101000101111
>
>  


1 abraço,

-- 
     _            _
 ___| | __ _  ___| | ___   _ ___  ___ _ __
/ __| |/ _` |/ __| |/ / | | / __|/ _ \ '__|
\__ \ | (_| | (__|   <| |_| \__ \  __/ |
|___/_|\__,_|\___|_|\_\\__,_|___/\___|_|____
                     Leandro Lustosa  |_____|
---------------------------------------------
address@hidden - Think GNU/Slackware!



[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]