Открыть сервисСервис

Ping — утилита проверки сети

Ping — утилита командной строки и сетевой протокол, предназначенный для проверки доступности узла в компьютерной сети и измерения времени кругового обмена (RTT) между ним и источником. Название происходит от англ. ping — звук, издаваемый сонаром при отражении сигнала от объекта. Утилита работает на основе протокола ICMP (Internet Control Message Protocol) и входит в стандартный набор сетевых инструментов практически всех операционных систем.

История

Утилита создана в 1983 году Майклом Мёркоком (Michael Muuss) и Билли Рутом (Billy Rut) в Управлении военно-морских вооружений США (Naval Weapons Laboratory, Дальгрен, штат Виргиния). Программа написана на языке C и изначально предназначалась для диагностики проблем в сети ARPANET. Мёркок назвал программу в честь сонарного сигнала — по аналогии с технологией эхолокации: программа отправляет пакет и ждёт «эхо» в ответ.

В 1983 году исходный код ping был опубликован в составе дистрибутива 4.3BSD. Впоследствии утилита вошла в стандартные пакеты UNIX, Linux, Windows (начиная с Windows NT) и других ОС. Протокол ICMP, на котором работает ping, описан в RFC 792 (1981, Джон Постел), а расширения для IPv6 — в RFC 4443.

Принцип работы

Ping использует два типа ICMP-сообщений: Echo Request (тип 8) и Echo Reply (тип 0). Алгоритм работы следующий:

  1. Источник формирует ICMP-пакет Echo Request с собственным идентификатором процесса, порядковым номером и меткой времени.
  2. Пакет передаётся целевому узлу по сети.
  3. Если узел доступен и не блокирует ICMP, он возвращает пакет Echo Reply источнику.
  4. Утилита фиксирует время прохождения кругового маршрута (RTT) и процент потерянных пакетов.

При недоступности узла ICMP-сообщение о недоступности (Destination Unreachable, тип 3) может вернуть промежуточный маршрутизатор. Если ответ не поступает, пакет считается потерянным.

Синтаксис и параметры

Базовый вызов выглядит как ping адрес (в Windows — ping адрес, в Linux — ping -c количество адрес). Основные параметры:

Параметр (Linux)Параметр (Windows)Назначение
-c N-n NЧисло отправляемых пакетов
-i интервал-w мсИнтервал между пакетами / тайм-аут
-s размер-l размерРазмер полезной нагрузки
-f-fУстановка флага DF (запрет фрагментации)
-I интерфейс-S адресИсточник / интерфейс отправки
-t-tНепрерывная отправка (Linux: TTL)

В Windows по умолчанию отправляется 4 пакета, в Linux ping работает непрерывно до прерывания пользователем (Ctrl+C).

Типичные результаты

Пример вывода утилиты в Linux:

``` PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data. 64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=12.3 ms 64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=11.9 ms

--- 8.8.8.8 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss rtt min/avg/max/mdev = 11.900/12.100/12.300/0.200 ms ```

Показатель ttl (Time To Live) позволяет косвенно определить число промежуточных маршрутизаторов, а mdev — разброс задержек.

Применение

Ping является основным инструментом первичной диагностики сетевых проблем:

  • Проверка доступности хоста — определение, отвечает ли узел на сетевые запросы.
  • Измерение задержек — оценка качества канала связи, выявление «джиттера» (колебаний задержки).
  • Диагностика потерь пакетов — выявление проблем с оборудованием или перегрузкой маршрута.
  • Проверка настроек DNS — разрешение имён в IP-адреса.
  • Трассировка маршрута — в сочетании с утилитой traceroute.

Ограничения и особенности

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

Существуют также атаки, основанные на ICMP: «ping of death» (отправка аномально больших пакетов, приводившая к сбоям старых систем), «ping flood» (перегрузка цели потоком Echo Request) и «smurf attack» (спуфинг-атака через широковещательные ICMP-запросы). Современные ОС и сетевое оборудование содержат защиту от подобных атак.

См. также

  • ICMP
  • Traceroute
  • TCP/IP
  • ARPANET

Исторические факты

В 2024 году в честь 40-летия утилиты компания Google провела акцию: при отправке ping на адрес ping.com пользователи получали ответ с поздравлением и логотипом. Событие отмечалось в сетевом сообществе как дань уважения одному из фундаментальных инструментов интернета.

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru