Командная строка: ping
диагностируем сеть с помощью команды ping
Команда ping
проверяет связь с определенным сетевым узлом в локальной сети или в Интернете.
Синтаксис команды имеет вид:
ping <host>
где <host>
является доменным именем или сетевым (IP) адресом.
Пример исполнения команды ping
имеет следующий вид:
PING ya.ru (87.250.250.242): 56 data bytes
64 bytes from 87.250.250.242: icmp_seq=0 ttl=250 time=32.702 ms
64 bytes from 87.250.250.242: icmp_seq=1 ttl=250 time=14.315 ms
64 bytes from 87.250.250.242: icmp_seq=2 ttl=250 time=22.952 ms
64 bytes from 87.250.250.242: icmp_seq=3 ttl=250 time=22.265 ms
64 bytes from 87.250.250.242: icmp_seq=4 ttl=250 time=42.417 ms
64 bytes from 87.250.250.242: icmp_seq=5 ttl=250 time=15.399 ms
^C
--- ya.ru ping statistics ---
6 packets transmitted, 6 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 14.315/25.008/42.417/9.838 ms
Команда отправляет запрос на сервер и получает от сервера ответ.
По умолчанию ping
продолжает отправлять запрос на сервер каждую секунду, до тех пор пока процесс не будет прерван сочетанием клавиш Ctrl + C
.
С помощью опции -c
можно ограничить количество запросов, отправляемых тестируемому сетевому узлу:
ping -c 2 ya.ru
По окончании исполнения команды ping
на экран выводится статистика запросов: процент потерянных пакетов и статистики производительности сети. На экран выводится IP-адрес опрашиваемого командой хоста, и время, которое понадобилось для получения ответа.
Не все серверы поддерживают команду ping
, в таком случае будет получен ответ request time out
:
PING ya.ru (87.250.250.242): 56 data bytes
Request time out for icomp_seq 0
Request time out for icomp_seq 1
Request time out for icomp_seq 2
Request time out for icomp_seq 3
Request time out for icomp_seq 4
Request time out for icomp_seq 5
--- ya.ru ping statistics ---
6 packets transmitted, 0 packets received, 100.0% packet loss
Иногда выполнение команды ping
на сервере блокируется специально, чтобы снизить нагрузку на ресурс или скрыть сервер.
Команда ping
использует протокол ICMP (Internet Control Message Protocol) - это протокол сетевого уровня, такой же как TCP или UDP.
В запросе на сервер отправляется пакет с сообщением ECHO_REQUEST
, а сервер возвращает сообщение ECHO_REPLY
- это основной механизм работы команды ping
.
Команда полезна для того, чтобы узнать доступность сетевого узла и его удаленность, с точки зрения времени необходимого на обмен данными. Обычно, исходя из простых физических законов, чем ближе сервер - тем быстрее будет возвращаться ответ.
Команда ping
работает в Linux, MacOS, WSL - в любой среде, основанной на UNIX.
Спасибо за внимание.