Моя команда 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-адреси? Або що вона намагається і не вдається, і намагається знову? Як змусити його зупинитись?


4
Так, це успішно пінг. Ви можете зупинити це за допомогою Ctrl-C.
Faheem Mitha

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 - "ака. Час жити", означає, що пакет буде проходити через щонайбільше 64 вузли до вичерпання часу. Отже, якщо система знаходиться на відстані понад 64 «стрибки» від вашої системи, ви не можете її пінг, якщо ви не збільшите TTL.

8-а колона

У цьому стовпці показано, як тривало час пінг (в мілісекундах). Це буде стовпець , який виглядає наступним чином : time=1.13 ms.

Інші стовпці досить роз'яснювальні.

Версії Ping

Різні pingкоманди реалізуються по-різному в різних Unixes. Тому потрібно звернути увагу на версію.

$ ping -V
ping utility, iputils-sss20100418

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


1

Відповідь slm чудова, але якщо ви просто хочете швидко перевірити, чи хост живий (і доступний, і відповідає на ping), ви можете використовувати його fpingзамість ping. Він запитує хост (ив) і чекає короткого часу на відповідь. fpingкод виходу повідомляє про успіх чи невдачу.

напр

cas @ ganesh: ~ $ fping kali
кали живий
cas @ ganesh: ~ $ echo $?
0

cas @ ganesh: ~ $ fping durga 
Хост ICMP недоступний з 203.xx.xxx.1 для ICMP Echo, надісланий до Дурга (203.xx.xxx.14)
Хост ICMP недоступний з 203.xx.xxx.1 для ICMP Echo, надісланий до Дурга (203.xx.xxx.14)
Хост ICMP недоступний з 203.xx.xxx.1 для ICMP Echo, надісланий до Дурга (203.xx.xxx.14)
Хост ICMP недоступний з 203.xx.xxx.1 для ICMP Echo, надісланий до Дурга (203.xx.xxx.14)
Дурга недосяжна
cas @ ganesh: ~ $ echo $?
1

Повідомлення "ICMP Host Unreachable" можна відкинути, перенаправляючи stderr на / dev / null. Наприклад:

cas@ganesh:~$ fping durga 2>/dev/null 
durga is unreachable
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.