Como mostrar o ping com falha?

21

Quando estamos usando o ping do windows, ele mostrará os pings com falha. O Ubuntu tem função semelhante?

O ping com falha é bastante útil ao depurar a rede. Como vocês resolvem isso? Bem, eu só quero uma solução simples, não quero um longo script.

    
por 王子1986 06.04.2013 / 09:29

5 respostas

0

Obrigado por todas as respostas. Parece que o último ping do ubuntu pode mostrar que o ping falhou.

Obrigado novamente.

    
por 王子1986 18.04.2013 / 06:22
20

A resposta certa é: não existe algo como " falhou ping perdido". (As respostas de falha como "Destino inacessível" são sempre impressas, é diferente de nenhuma resposta.)

O utilitário ping imprime todas as respostas recebidas, mesmo que tenha decidido que esse ping específico foi perdido. É perfeitamente possível receber respostas fora de ordem.

Mesmo no meu telefone Android, o utilitário ping de ações suporta essas duas opções:
-D imprime um registro de data e hora antes de cada mensagem
-O imprime uma mensagem quando a resposta não é recebida a tempo, e é mais ou menos o que foi solicitado .
No entanto, essas opções não parecem ser suportadas em todos os lugares (por exemplo, o Debian Wheezy não as possui, tanto quanto eu sei, enquanto Jessie as possui. busybox ping não as suporta).

Aqui está um exemplo de saída que consegui obter (respostas de ping sem importância ignoradas):

u0_a93@NX505J:/ $ ping -D -O 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
[1440545014.805478] 64 bytes from 8.8.8.8: icmp_seq=1 ttl=244 time=116 ms
~~~~~~~~~~
[1440545142.995443] 64 bytes from 8.8.8.8: icmp_seq=129 ttl=244 time=110 ms
[1440545144.885601] no answer yet for icmp_seq=130
[1440545145.455485] 64 bytes from 8.8.8.8: icmp_seq=131 ttl=244 time=568 ms
[1440545145.455780] 64 bytes from 8.8.8.8: icmp_seq=130 ttl=244 time=1569 ms
[1440545146.005850] 64 bytes from 8.8.8.8: icmp_seq=132 ttl=244 time=119 ms
~~~~~~~~~~
[1440545254.055962] 64 bytes from 8.8.8.8: icmp_seq=240 ttl=244 time=115 ms
^C
--- 8.8.8.8 ping statistics ---
240 packets transmitted, 240 received, 0% packet loss, time 239250ms
rtt min/avg/max/mdev = 109.062/138.757/1569.620/101.608 ms, pipe 2

Note como # 130 é relatado pela primeira vez como ausente, depois recebido após # 131 e, finalmente, a perda de pacotes é relatada como zero.

Nota extra sobre o Windows:

No Windows, o ping parece aguardar a resposta por mais tempo e, em seguida, declará-lo ausente e ignorá-lo, se ocorrer mais tarde.

Por padrão, o intervalo é de 1 segundo e o tempo limite é de 4 segundos, portanto:
Em RTT baixo, os pings serão enviados com intervalos de 1 segundo.
No RTT > 4, os pings serão enviados com intervalos de 4 segundos (ou 5, não seguros) e todos serão relatados como com falha, como se o servidor não tivesse respondido.

    
por EvgEnZh 26.08.2015 / 03:49
6

Indo parcialmente para fora da resposta por EvgEnZh, mas com minha própria versão:

ping -O -q 8.8.8.8

Isso faz com que seja impressa uma mensagem quando uma resposta demora muito ou nunca volta ( -O ) e suprime as mensagens quando elas retornam ( -q ). O resultado é que você só obtém saída quando os pacotes desaparecem. Isso pode tornar a localização de problemas intermitentes muito mais fácil fazendo com que você não tenha que vasculhar uma pilha de mensagens "funcionou" para os poucos lugares em que ela quebrou.

    
por Azendale 18.10.2016 / 17:20
2

Talvez ping -f seja adequado para você. Do manual do ping:

% bl0ck_qu0te%

Para 1 echo_request a cada segundo, seria parecido com ping -i 1 -f 8.8.8.8

    
por Daniel Yuste Aroca 06.04.2013 / 11:46
0

Mesmo com a opção -v, o ping não faz isso. Veja esta questão . Mas se isso é realmente importante (ou divertido) para você, você pode baixar a fonte, modificar o código para incluir uma chamada printf adequada. Um bom lugar para isso seria no final do método 'send_probe' (linha 619 em 12.10) ...

Primeiro você recebe a fonte

apt-get source iputils
cd iputils*

Faça edições

gedit ping.c

Crie e instale o pacote gerado ...

apt-get install libsysfs-dev
dpkg-buildpackage
    
por Rémi 17.04.2013 / 15:51

Tags