Meu comando Ping parece nunca terminar. Isso significa que está tendo sucesso?

10

Estou executando ping em um IP remoto. Eu sei muito pouco sobre o comando Ping. Quando sigo o IP, ele continua indo e vindo ... Eu não estou usando a opção -t .

Me$ ping 137.30.124.104
PING 137.30.124.104 (137.30.124.104): 56 data bytes
64 bytes from 137.30.124.104: icmp_seq=0 ttl=62 time=3.378 ms
64 bytes from 137.30.124.104: icmp_seq=1 ttl=62 time=3.825 ms
64 bytes from 137.30.124.104: icmp_seq=2 ttl=62 time=4.882 ms
64 bytes from 137.30.124.104: icmp_seq=3 ttl=62 time=1.822 ms
64 bytes from 137.30.124.104: icmp_seq=4 ttl=62 time=4.572 ms
....
64 bytes from 137.30.124.104: icmp_seq=290 ttl=62 time=3.273 ms

Isso significa que está executando o ping com êxito no IP? Ou que está tentando e falhando e tentando novamente? Como faço para parar?

bernie2436
fonte
4
Sim, está pingando com sucesso. Você pode pará-lo com Ctrl-C.
Faheem Mitha
7
O Unix-likes pingnão para como windowso padrão.
Gilles Quenot
@sputnick sim que era o que estava me confundindo
bernie2436
Veja como você pode controlá-lo na minha resposta!
slm

Respostas:

17

É assim que o comando ping funciona. Você pode controlá-lo usando a chave de contagem -c,.

Exemplo

$ ping -c 2 skinner
PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data.
64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=1 ttl=64 time=1.00 ms
64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=2 ttl=64 time=1.13 ms

--- skinner.bubba.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.001/1.069/1.138/0.075 ms

Repartição da produção

Linhas como essa significam que ele está executando ping com êxito no outro host:

64 bytes from skinner.bubba.net (192.168.1.3): icmp_req=2 ttl=64 time=1.13 ms

Essas linhas mostram detalhes sobre cada "ping", como ocorre entre o host e o host que você está tentando executar ping.

6ª coluna

A coluna que contém esse valor icmp_req=2está informando a qual pacote ICMP está relacionado. O pingcomando fabrica pacotes de rede. Existem muitos tipos, você provavelmente já ouviu falar de pacotes TCP ou talvez UDP. Outro tipo é o ICMP. O ICMP é semelhante ao SMS nas redes de telefonia celular. Seu principal objetivo é o comando e controle da rede.

7ª coluna

A terceira coluna que é interessante é a TTL=64. TTL - "aka. Time to Live", significa que o pacote só se moverá no máximo 64 nós antes de atingir o tempo limite. Portanto, se o sistema estiver a mais de 64 "saltos" do sistema, você não poderá fazer ping, a menos que aumente o TTL.

8ª coluna

Esta coluna mostra quanto tempo levou o ping para ocorrer (em milissegundos). Esta seria a coluna que se parece com isso: time=1.13 ms.

As outras colunas são bastante auto-explicativas.

Versões de ping

pingComandos diferentes são implementados de maneira diferente nos vários Unixes. Então você precisa prestar atenção na versão.

$ ping -V
ping utility, iputils-sss20100418

Estou em um sistema Linux Fedora 14.

slm
fonte
1

A resposta do slm é ótima, mas se você deseja verificar rapidamente se um host está ativo (acessível e respondendo ao ping), pode usar em fpingvez de ping. Pinga o (s) host (s) e aguarda um pouco por uma resposta. fpingO código de saída do relatório informa sucesso ou falha.

por exemplo

cas @ ganesh: ~ $ fping kali
kali está vivo
cas @ ganesh: ~ $ echo $?
0 0

cas @ ganesh: ~ $ fping durga 
Host ICMP inacessível de 203.xx.xxx.1 para eco ICMP enviado para durga (203.xx.xxx.14)
Host ICMP inacessível de 203.xx.xxx.1 para eco ICMP enviado para durga (203.xx.xxx.14)
Host ICMP inacessível de 203.xx.xxx.1 para eco ICMP enviado para durga (203.xx.xxx.14)
Host ICMP inacessível de 203.xx.xxx.1 para eco ICMP enviado para durga (203.xx.xxx.14)
durga é inacessível
cas @ ganesh: ~ $ echo $?
1

As mensagens 'ICMP Host Unreachable' podem ser descartadas redirecionando stderr para / dev / null. Por exemplo:

cas@ganesh:~$ fping durga 2>/dev/null 
durga is unreachable
cas
fonte