Discussion:
[shell-script] Monitoramento de portas com shell script
Wanderson Barrence wbarrence@gmail.com [shell-script]
2018-08-02 19:34:20 UTC
Permalink
Caros Amigos,

Estou tentando criar um shell script, executado via crontab, que monitora
as portas de um range de ips que estão no "/etc/hosts", por exemplo, ele
pega um por um dos ips do "/etc/hosts" e faz um telnet na porta 1534, e em
caso de "refuse connection", é gerado um log, que pode ser enviado por
e-mail.

Alguém pode me ajudar???

Att,

Wanderson
Gustavo Soares de Lima ghtp25@gmail.com [shell-script]
2018-08-02 19:54:07 UTC
Permalink
for ip in $(grep -oE '^(([0-9]+.)?)+' /etc/hosts);

do

timeout --signal=9 2 telnet $ip 80;

if [[ "$?" != 137 ]]; then

echo “Não foi possível realizar conexão”;

fi;

done
Post by Wanderson Barrence ***@gmail.com [shell-script]
Caros Amigos,
Estou tentando criar um shell script, executado via crontab, que monitora
as portas de um range de ips que estão no "/etc/hosts", por exemplo, ele
pega um por um dos ips do "/etc/hosts" e faz um telnet na porta 1534, e em
caso de "refuse connection", é gerado um log, que pode ser enviado por
e-mail.
Alguém pode me ajudar???
Att,
Wanderson
Alfredo Casanova atcasanova@gmail.com [shell-script]
2018-08-03 14:29:30 UTC
Permalink
Nesse caso é mais jogo usar o nc

nc -zvnw2 $ip 80

o "w2" é um timeout de 2 segundos

no lugar desse telnet com timeout ja deve resolver

ai vc faz
nc -zvnw2 $ip 80 2>/dev/null && echo porta 80 em $ip aberta || echo porta
80 em $ip nao fechada
Post by Gustavo Soares de Lima ***@gmail.com [shell-script]
for ip in $(grep -oE '^(([0-9]+.)?)+' /etc/hosts);
do
timeout --signal=9 2 telnet $ip 80;
if [[ "$?" != 137 ]]; then
echo “Não foi possível realizar conexão”;
fi;
done
Post by Wanderson Barrence ***@gmail.com [shell-script]
Caros Amigos,
Estou tentando criar um shell script, executado via crontab, que monitora
as portas de um range de ips que estão no "/etc/hosts", por exemplo, ele
pega um por um dos ips do "/etc/hosts" e faz um telnet na porta 1534, e em
caso de "refuse connection", é gerado um log, que pode ser enviado por
e-mail.
Alguém pode me ajudar???
Att,
Wanderson
Tiago Peczenyj tiago.peczenyj@gmail.com [shell-script]
2018-08-03 18:06:01 UTC
Permalink
Ola

Isso parece um tipo de health check.

Os comandos ping e nc (netcat) podem ajudar com os parâmetros de timeout
corretos, porém talvez vc queira utilizar uma ferramenta própria para isso
como o Consul
Post by Wanderson Barrence ***@gmail.com [shell-script]
Caros Amigos,
Estou tentando criar um shell script, executado via crontab, que monitora
as portas de um range de ips que estão no "/etc/hosts", por exemplo, ele
pega um por um dos ips do "/etc/hosts" e faz um telnet na porta 1534, e em
caso de "refuse connection", é gerado um log, que pode ser enviado por
e-mail.
Alguém pode me ajudar???
Att,
Wanderson
--
Tiago B. Peczenyj

http://about.me/peczenyj
Rildo Braz rildo.braz@gmail.com [shell-script]
2018-08-02 22:44:59 UTC
Permalink
Exec 3>/dev/tcp/<ip>/<porta>

Ver se isto resolve
Post by Wanderson Barrence ***@gmail.com [shell-script]
Caros Amigos,
Estou tentando criar um shell script, executado via crontab, que monitora
as portas de um range de ips que estão no "/etc/hosts", por exemplo, ele
pega um por um dos ips do "/etc/hosts" e faz um telnet na porta 1534, e em
caso de "refuse connection", é gerado um log, que pode ser enviado por
e-mail.
Alguém pode me ajudar???
Att,
Wanderson
Adilson dos Reis adilsondosreis@yahoo.com.br [shell-script]
2018-08-06 14:09:29 UTC
Permalink
if (exec 3<>/dev/tcp/<ip>/<porta>) 2> /dev/null; then echo -e "ok"; else echo -e "bad"; fi

Já vi que o caminho foi dado, mas segue...


Em sexta-feira, 3 de agosto de 2018 19:03:40 BRT, Rildo Braz ***@gmail.com [shell-script] <shell-***@yahoogrupos.com.br> escreveu:

 

Exec 3>/dev/tcp/<ip>/<porta>
Ver se isto resolve
Em Qui, 2 de ago de 2018 16:35, Wanderson Barrence ***@gmail..com [shell-script] <shell-***@yahoogrupos.com.br> escreveu:

 

Caros Amigos,
Estou tentando criar um shell script, executado via crontab, que monitora as portas de um range de ips que estão no "/etc/hosts", por exemplo, ele pega um por um dos ips do "/etc/hosts" e faz um telnet na porta 1534, e em caso de "refuse connection", é gerado um log, que pode ser enviado por e-mail.
Alguém pode me ajudar???
Att,
Wanderson


#yiv5108294299 #yiv5108294299 -- #yiv5108294299ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv5108294299 #yiv5108294299ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv5108294299 #yiv5108294299ygrp-mkp #yiv5108294299hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv5108294299 #yiv5108294299ygrp-mkp #yiv5108294299ads {margin-bottom:10px;}#yiv5108294299 #yiv5108294299ygrp-mkp .yiv5108294299ad {padding:0 0;}#yiv5108294299 #yiv5108294299ygrp-mkp .yiv5108294299ad p {margin:0;}#yiv5108294299 #yiv5108294299ygrp-mkp .yiv5108294299ad a {color:#0000ff;text-decoration:none;}#yiv5108294299 #yiv5108294299ygrp-sponsor #yiv5108294299ygrp-lc {font-family:Arial;}#yiv5108294299 #yiv5108294299ygrp-sponsor #yiv5108294299ygrp-lc #yiv5108294299hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv5108294299 #yiv5108294299ygrp-sponsor #yiv5108294299ygrp-lc .yiv5108294299ad {margin-bottom:10px;padding:0 0;}#yiv5108294299 #yiv5108294299actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv5108294299 #yiv5108294299activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv5108294299 #yiv5108294299activity span {font-weight:700;}#yiv5108294299 #yiv5108294299activity span:first-child {text-transform:uppercase;}#yiv5108294299 #yiv5108294299activity span a {color:#5085b6;text-decoration:none;}#yiv5108294299 #yiv5108294299activity span span {color:#ff7900;}#yiv5108294299 #yiv5108294299activity span .yiv5108294299underline {text-decoration:underline;}#yiv5108294299 .yiv5108294299attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv5108294299 .yiv5108294299attach div a {text-decoration:none;}#yiv5108294299 .yiv5108294299attach img {border:none;padding-right:5px;}#yiv5108294299 .yiv5108294299attach label {display:block;margin-bottom:5px;}#yiv5108294299 .yiv5108294299attach label a {text-decoration:none;}#yiv5108294299 blockquote {margin:0 0 0 4px;}#yiv5108294299 .yiv5108294299bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv5108294299 .yiv5108294299bold a {text-decoration:none;}#yiv5108294299 dd.yiv5108294299last p a {font-family:Verdana;font-weight:700;}#yiv5108294299 dd.yiv5108294299last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv5108294299 dd.yiv5108294299last p span.yiv5108294299yshortcuts {margin-right:0;}#yiv5108294299 div.yiv5108294299attach-table div div a {text-decoration:none;}#yiv5108294299 div.yiv5108294299attach-table {width:400px;}#yiv5108294299 div.yiv5108294299file-title a, #yiv5108294299 div.yiv5108294299file-title a:active, #yiv5108294299 div.yiv5108294299file-title a:hover, #yiv5108294299 div.yiv5108294299file-title a:visited {text-decoration:none;}#yiv5108294299 div.yiv5108294299photo-title a, #yiv5108294299 div.yiv5108294299photo-title a:active, #yiv5108294299 div.yiv5108294299photo-title a:hover, #yiv5108294299 div.yiv5108294299photo-title a:visited {text-decoration:none;}#yiv5108294299 div#yiv5108294299ygrp-mlmsg #yiv5108294299ygrp-msg p a span.yiv5108294299yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv5108294299 .yiv5108294299green {color:#628c2a;}#yiv5108294299 .yiv5108294299MsoNormal {margin:0 0 0 0;}#yiv5108294299 o {font-size:0;}#yiv5108294299 #yiv5108294299photos div {float:left;width:72px;}#yiv5108294299 #yiv5108294299photos div div {border:1px solid #666666;min-height:62px;overflow:hidden;width:62px;}#yiv5108294299 #yiv5108294299photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv5108294299 #yiv5108294299reco-category {font-size:77%;}#yiv5108294299 #yiv5108294299reco-desc {font-size:77%;}#yiv5108294299 .yiv5108294299replbq {margin:4px;}#yiv5108294299 #yiv5108294299ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv5108294299 #yiv5108294299ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv5108294299 #yiv5108294299ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv5108294299 #yiv5108294299ygrp-mlmsg select, #yiv5108294299 input, #yiv5108294299 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv5108294299 #yiv5108294299ygrp-mlmsg pre, #yiv5108294299 code {font:115% monospace;}#yiv5108294299 #yiv5108294299ygrp-mlmsg * {line-height:1.22em;}#yiv5108294299 #yiv5108294299ygrp-mlmsg #yiv5108294299logo {padding-bottom:10px;}#yiv5108294299 #yiv5108294299ygrp-msg p a {font-family:Verdana;}#yiv5108294299 #yiv5108294299ygrp-msg p#yiv5108294299attach-count span {color:#1E66AE;font-weight:700;}#yiv5108294299 #yiv5108294299ygrp-reco #yiv5108294299reco-head {color:#ff7900;font-weight:700;}#yiv5108294299 #yiv5108294299ygrp-reco {margin-bottom:20px;padding:0px;}#yiv5108294299 #yiv5108294299ygrp-sponsor #yiv5108294299ov li a {font-size:130%;text-decoration:none;}#yiv5108294299 #yiv5108294299ygrp-sponsor #yiv5108294299ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv5108294299 #yiv5108294299ygrp-sponsor #yiv5108294299ov ul {margin:0;padding:0 0 0 8px;}#yiv5108294299 #yiv5108294299ygrp-text {font-family:Georgia;}#yiv5108294299 #yiv5108294299ygrp-text p {margin:0 0 1em 0;}#yiv5108294299 #yiv5108294299ygrp-text tt {font-size:120%;}#yiv5108294299 #yiv5108294299ygrp-vital ul li:last-child {border-right:none !important;}#yiv5108294299
Loading...