comando ping em ubuntu e demais linux

1,578 views
Skip to first unread message

DRauber

unread,
Feb 22, 2012, 2:54:18 PM2/22/12
to Ubuntu Brasil
Boa tarde Colegas!

Há bastante tempo uso o linux como meu principal SO, tanto no desktop
como em servidores, mas sempre tive dúvida em relação ao ping, se eu
der um ping em um micro com windows, mesmo que o host esteja
inacessível ou o pacote seja perdido, é impresso no console alguma
coisa, já no Linux, apenas os pacotes com resposta são mostrados,
facilitando as vezes uma má identificação de situações. Há como
contornar isso?

Obrigado

DRauber

George Souza Farias

unread,
Feb 28, 2012, 11:37:41 PM2/28/12
to ubuntu...@googlegroups.com
Amigão,

O ping é nada mais que um pacotes ICMP da camada 3(REDE).
O ping possui diversos códigos de retorno para cada tipo de evento encontrado.
Converso que não sei explicar como alterar isso, mas cada SO tem sua maneira de mostrar esses eventos, o Windows por exemplo exibe casa o pacote seja perdido o evento "TIME OUT" e ao receber por exemplo exibe a latência no máximo a cima de 1ms, sendo que menor que isso é utilizado <1ms por padrão diferente do Linux.

Até +

Douglas

unread,
Feb 29, 2012, 5:39:36 AM2/29/12
to ubuntu...@googlegroups.com
Bom dia!

Beleza George... concordo com você, em relação a latência, realmente,
o windows não apresenta a mesma precisão que o linux.. mas veja a
saída de um ping de teste...

ping terra.com.br
PING terra.com.br (200.154.56.80) 56(84) bytes of data.
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=1 ttl=246 time=76.9 ms
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=2 ttl=246 time=126 ms
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=3 ttl=246 time=112 ms
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=4 ttl=246 time=160 ms
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=5 ttl=246 time=63.5 ms
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=10 ttl=246 time=76.3 ms
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=11 ttl=246 time=54.4 ms
64 bytes from www.terra.com.br (200.154.56.80): icmp_req=12 ttl=246 time=40.9 ms
^C

Repare que até o pacote ICMP 5, todos tiveram resposta, mas do 6-9,
nenhum teve resposta e mesmo assim nada foi impresso na saída.
Veja, que em condições de um teste simples e rápido de perda de
pacotes, eu teria que ficar com o olho "vidrado" no ping pra ver os
pacotes perdidos... Creio eu que exista alguma forma de fazer o ping
apresentar todos pacotes remetidos, e seus status de retorno.

Vlw


Douglas


Em 29 de fevereiro de 2012 01:37, George Souza Farias
<georgeso...@gmail.com> escreveu:

> --
> Você está recebendo esta mensagem porque se inscreveu no grupo "Ubuntu
> Brasil" dos Grupos do Google.
> Para ver esta discussão na web, acesse
> https://groups.google.com/d/msg/ubuntubrasil/-/qcRJSD94HzEJ.
>
> Para postar neste grupo, envie um e-mail para ubuntu...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> ubuntubrasil...@googlegroups.com.
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/ubuntubrasil?hl=pt-BR.

George Souza Farias

unread,
Feb 29, 2012, 8:46:54 AM2/29/12
to ubuntu...@googlegroups.com
Bom dia Douglas,

Entendi, a questão, eu não sei alterar a saída do ping por ele mesmo, sem usar outras ferramenta como o Shell. 

Eu particularmente não fico olhando para as saídas na tela, deixo um ping rolando um tempo e o cancelo e leio o resumo;

george@kabuterimon:~$ ping 10.50.1.4
PING 10.50.1.4 (10.50.1.4) 56(84) bytes of data.
64 bytes from 10.50.1.4: icmp_req=1 ttl=63 time=0.163 ms
64 bytes from 10.50.1.4: icmp_req=2 ttl=63 time=0.187 ms
64 bytes from 10.50.1.4: icmp_req=3 ttl=63 time=0.525 ms
64 bytes from 10.50.1.4: icmp_req=4 ttl=63 time=3.20 ms
^C
--- 10.50.1.4 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.163/1.020/3.205/1.269 ms

Nesse caso, ele mostra toda as informações relevante com Média, Máximo, Minimo, Pacotes recebidos e perdidos.

Mais que suficiente não ?


Ou você pode utilizar um script Shell,

#!/bin/bash

ENDE="10.50.1.4"

while [ 1 = 1 ]
do
for I in `echo $ENDE`
do
# echo -n "Testando.. [$I]"
if ! ping -s 1456 $I -c1 -t 10 >/dev/null
then
echo " ======= FALHA!!!"
echo "FALHA!! $I - $(date)" >> /root/ping_"$ENDE".log
else
echo " ======= OK!!!" > /dev/null
fi
done
sleep 2
done
 
Esse script vai mostrar na tela apenas os pacotes que retornarem com erro.


Abraços !
--
---
George Souza Farias
(95) 8121-3780



Douglas

unread,
Mar 1, 2012, 11:37:02 AM3/1/12
to ubuntu...@googlegroups.com
Valeu George!

Obrigado pela dica!

Douglas

Em 29 de fevereiro de 2012 10:46, George Souza Farias

Reply all
Reply to author
Forward
0 new messages