Моя команда Ping, кажется, никогда не заканчивается. Означает ли это, что это успех?

10

Я пингую удаленный IP. Я очень мало знаю о команде Ping. Когда я пингую IP, он продолжает работать ... Я не использую опцию -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

Означает ли это, что он успешно пингует IP? Или что он пытается и терпит неудачу и пытается снова? Как мне заставить это остановиться?

bernie2436
источник
4
Да, это успешно пингует. Вы можете остановить это с помощью Ctrl-C.
Фахим Митха
7
Unix-лайки pingне прекращаются, как windowsпо умолчанию.
Жиль Квено
@sputnick, да, это меня
смутило
Посмотрите, как вы можете контролировать это в моем ответе!
slm

Ответы:

17

Вот как работает команда ping. Вы можете управлять им с помощью счетчика -c.

пример

$ 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

Распределение выхода

Строки как это означают, что это успешно пропингует другой хост:

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

Эти строки показывают детали о каждом "пинге", происходящем между вашим хостом и хостом, на который вы пытаетесь пинговать.

6-я колонна

Столбец, содержащий это значение, icmp_req=2сообщает вам, к какому ICMP-пакету это относится. Команда pingпроизводит сетевые пакеты. Есть много типов, вы, вероятно, слышали о TCP или, возможно, UDP-пакеты. Другой тип - ICMP. ICMP аналогичен SMS в сотовых сетях. Его основная цель - управлять и контролировать сеть.

7-я колонна

Третья интересная колонка TTL=64. TTL - «aka. Time to Live», означает, что пакет будет проходить только через максимум 64 узла до истечения времени ожидания. Поэтому, если система находится на расстоянии более 64 «прыжков» от вашей системы, вы не можете пропинговать ее, если не увеличите TTL.

8-я колонна

В этом столбце показано, сколько времени потребовалось для проверки связи (в миллисекундах). Это будет столбец , который выглядит следующим образом : time=1.13 ms.

Другие столбцы довольно понятны.

Пинг версии

Различные pingкоманды реализованы по-разному в разных Unix-системах. Так что нужно обратить внимание на версию.

$ ping -V
ping utility, iputils-sss20100418

Я в системе Fedora 14, Linux.

SLM
источник
1

Ответ slm хорош, но если вы просто хотите быстро проверить, жив ли хост (и доступен ли он и отвечает ли на пинг), вы можете использовать fpingвместо ping. Он пингует хост (ы) и ждет короткого ответа. fpingКод выхода сообщает об успехе или неудаче.

например

cas @ ganesh: ~ $ fping Кали
Кали жива
cas @ ganesh: ~ $ echo $?
0

cas @ ganesh: ~ $ fping durga 
Узел ICMP недоступен с 203.xx.xxx.1 для эха ICMP, отправленного в Дургу (203.xx.xxx.14)
Узел ICMP недоступен с 203.xx.xxx.1 для эха ICMP, отправленного в Дургу (203.xx.xxx.14)
Узел ICMP недоступен с 203.xx.xxx.1 для эха ICMP, отправленного в Дургу (203.xx.xxx.14)
Узел ICMP недоступен с 203.xx.xxx.1 для эха ICMP, отправленного в Дургу (203.xx.xxx.14)
Дурга недоступна
cas @ ganesh: ~ $ echo $?
1

Сообщения «ICMP Host Unreachable» могут быть отброшены путем перенаправления stderr в / dev / null. Например:

cas@ganesh:~$ fping durga 2>/dev/null 
durga is unreachable
саз
источник