Ping (пинг) – способ проверки доступности удаленного хоста, а также команда (утилита) для осуществления такой проверки. «Пропинговать» сервер – означает послать ему группу тестовых запросов и получить обратную связь.

Своим названием пинг обязан созвучию с акустическим сигналом, который издает гидролокатор. В то же время некоторые считают слово ping происходящим от названия игры в настольный теннис – пинг-понг, когда целлулоидный шарик прыгает по теннисному столу взад и вперед. Именно поэтому успешный эхо-ответ на проверку ping иногда называют pong-ом.

Суть технологии

Команда ping встроена практически во все операционные системы и выполняет одну и ту же роль. Программа отправляет удаленному узлу группу пакетов ICMP, а затем анализирует, сколько из них вернулось и через какое время. Таким образом формируется связка ICMP Echo-Request – ICMP Echo-Reply. Поэтому фраза «проверить ping» означает также узнать время, которое проходит между отправкой запроса и получением ответа (RTT – round trip time – буквально «время обхода»).

ICMP пакет (Internet Control Message Protocol) инкапсулируется в IP фрейм и снабжается IP заголовком. В 20-ти битах этого заголовка передается информация о начальном и целевом хосте, время жизни (TTL) пакета, протокол передачи и некоторые другие данные.

Если удаленный хост «не пингуется», т.е. ни один посланный запрос не возвращается обратно, это означает, что:

  • Такого узла в данный момент не существует в сети;
  • Узел существует, но игнорирует ICMP эхо-запросы и не отсылает ICMP Echo-Reply;
  • Проблемы с промежуточными узлами (маршрутизаторами).

Так как ICMP – протокол низкого уровня, для генерации пакетов в UNIX-системах он использует raw-сокеты, и теоретически, чтобы проверить ping в юниксах, нужно обладать соответствующими правами. Поэтому для утилиты устанавливается суидный бит.

Какую информацию дает команда ping

  • Существует ли хост. К примеру, если веб- или фтп-сервер недоступен, но сам узел пингуется, это означает, что проблема не со всем удаленным компьютером, но с конкретным установленным на нем сервисом.
  • Пингуя доменное имя, узнаем IP-адрес хоста.
  • Узнать, правильно ли настроен DNS узла, проверяя ping по доменному имени и по IP.
  • По времени задержки и количеству потерянных пакетов оцениваем качество интернет-канала.

Примеры использования

UNIX утилита:
Шлем группу из пяти пакетов, каждый из них – через 4 секунды. Каждый ответ сопровождается спикером (звуковым сигналом):


$ ping -ai 4 -c 5 codomaza.com

WINDOWS системы:
Пинговать сервер постоянно, пока не прекратим вручную (командой ctrl-c).


ping codomaza.com –t
captcha