Переводы страниц руководства

Новости   Список переводов по пакетам   Все переводы   Репозиторий Debian   Как нам помочь   Участники проекта   Словарь терминов

Страницы руководства  - PING (8)


НАЗВАНИЕ

ping, ping6 - посылает пакеты ICMP ECHO_REQUEST узлам сети

СИНТАКСИС

ping [-LRUbdfnqrvVaAB] [-c количество] [-i интервал] [-l преднагрузка] [-p шаблон] [-s размер пакета] [-t ttl] [-w ограничение на время работы] [-F идентификатор потока] [-I адрес] [-M подсказка] [-Q тип обслуживания] [-S буфер отправки] [-T параметр временной метки] [-W время ожидания ответка] [переход ...] назначение

ОПИСАНИЕ

ping использует обязательные датаграммы ECHO_REQUEST протокола ICMP для получения по этому протоколу ответов ECHO_RESPONSE от узла или шлюза. Датаграммы ECHO_REQUEST (“пинги”) состоят из заголовков IP и ICMP, структуры данных времени и произвольного числа несмысловых байтов для “заполнения” пакета.

ПАРАМЕТРЫ

-a Сопровождать работу программы звуком.
-A Адаптировать интервал между отправками пакетов к длительности их доставки и возврата. Таким образом, если только не выполняется преднагрузка, в любой момент времени может быть не больше одного пакета, на который не получен ответ. Минимальный интервал для не администратора - 200 мс. В сетях с низким rtt данный режим эквивалентен лавинообразному.
-b Разрешить использование широковещательного адреса в качестве целевого.
-B Запретить изменение исходного адреса для пакетов во время работы программы. Исходный адрес определяется в начале работы ping.
-c количество
  Остановить работу после передачи заданного количества пакетов ECHO_REQUEST. Если задано ограничение на время работы, программа будет ждать указанное количество ответных пакетов ECHO_REPLY в указанный период.
-d Устанавливает параметр SO_DEBUG на используемый сокет. Примечание: этот параметр не используется ядром Linux.
-F идентификатор потока
  Устанавливать 20 битный идентификатор потока в отправляемых пакетах (только для ping6). Если указан ноль, идентификатор потока будет генерироваться случайно ядром.
-f Лавинообразный режим. Для каждого пакета ECHO_REQUEST выводится точка “.”, для каждого ответного пакета ECHO_REPLY - забой (удаление последней точки). Это позволяет наглядно представлять число потерянных пакетов. Если интервал между отправками не задан, последние производятся с наибольшей скоростью (по мере получения ответов) или со скоростью 100 раз в секунду, в зависимости от того, в каком случае получается большая скорость. Задавать нулевой интервал между отправками может только суперпользователь.
-i интервал
  Интервал в секундах между отправкой пакетов. По умолчанию между отправкой пакетов делается пауза в 1 секунду, либо, в случае лавинообразного режима, отправка производится без пауз. Задавать значения меньше 0.2 секунды может только суперпользователь.
-I адрес
  Установить адрес источника в указанный. В качестве аргумента может выступать числовой IP-адрес или имя устройства. Этот параметр обязателен при отправке запросов на локально соединенный адрес IPv6.
-l преднагрузка
  Послать с максимальной скоростью указанное количество пакетов, не дожидаясь ответов, и затем перейти в обычный режим работы. Значения больше 3 может указывать только суперпользователь.
-L Подавлять циклические петли для широковещательных пакетов. Этот ключ применяется только если в качестве целевого адреса указан широковещательный.
-n Только цифровой вывод. Не расшифровывать имена (символьный вид) адресов.
-p шаблон
  Можно указать до 16 несмысловых байтов для “заполнения” пакетов. Это полезно при диагностике проблем в сети. Например, -p ff заполнит все пакеты символами единицы.
-Q тип обслуживания
  Разряды байта QoS (Quality of Service - качество обслуживания) для датаграмм ICMP. Тип обслуживания может быть либо десятичным либо шестнадцатеричным числом. Обычно (согласно RFC 1349) это значение интерпретируется так: младший (нулевой) разряд зарезервирован (сейчас используется для управления событиями при переполнении), разряды 1-4 используются для указания собственно типа обслуживания, и разряды 5-7 для приоритета (IP-предпочтения). Возможные типы обслуживания: минимизация стоимости - 0x02, максимизация надежности - 0x04, максимизация пропускной способности - 0x08, минимизация задержек - 0x10. Одновременно можно указывать только один из четырёх перечисленных разрядов. Возможный диапазон значения приоритета - от приоритетного (0x20) до управляемого сетью (0xe0). Для указания высокого приоритета необходимы права суперпользователем (точнее, должно быть доступна возможность CAP_NET_ADMIN). Разряд 0x01 можно устанавливать только если в ядре включен ECN. В RFC 2474 этот байт переопределен как дифференцированные службы (Differentiated Services - DS): разряды 0-1 отведены для отдельных данных (тут будет использоваться ECN) разряды 2-7 для точки кода дифференцированных служб (Differentiated Services Codepoint - DSCP).
-q Тихий вывод. Выводить только начальные и итоговые данные (не выводить информацию об отдельных запросах).
-R Записывать маршрут. Для пакетов ECHO_REQUEST будет включен параметр RECORD_ROUTE и на экран будет выведен буфер маршрута для возвращенных пакетов. Заметим, что в заголовок IP помещается не больше 9 таких маршрутов. Многие узлы игнорируют или отбрасывают этот параметр.
-r Не использовать обычные таблицы маршрутизации и передавать данные прямо на компьютер, подключенный к интерфейсу. Если компьютер не находится в сети с прямым подключением, то возвращается сообщение об ошибке. Этот параметр может использоваться вместе с -I для проверки локальной системы через интерфейс, по которому не идет маршрутизация.
-s размер пакета
  Размер пакетов для пересылки. По умолчанию - 56, что соответствует размеру 64 байта после добавления 8 байтов заголовка ICMP.
-S буфер отправки
  Размер буфера отправки соединения. По умолчанию буферизируется не больше одного пакета.
-t ttl Время актуальности пакета IP (ttl - Time to Live).
-T параметр временной метки
  Параметры временной метки IP. Возможные значения параметра временной метки: tsonly (только временная метка), tsandaddr (временная метка и адреса) и tsprespec узел1 [узел2 [узел3 [узел4]]] (отмечать переходы).
-M подсказка
  Стратегия обнаружения маршрута MTU. Возможные значения: do (запретить фрагментацию, даже локальную), want (выполнять обнаружение PMTU, фрагментировать локально если размер пакета слишком большой) и dont (не устанавливать флаг DF).
-U Выводить полное время прохода (старое поведение). По умолчанию выводится сетевое время прохода, которое может отличаться от реального, например из-за ошибок DNS.
-v Выводить подробную информацию.
-V Вывести информацию о версии и закончить работу.
-w ограничение на время работы
  Время, по истечении которого ping завершит свою работу независимо от количества посланных и принятых пакетов. При указании этого параметра время ожидания для одного пакета игнорируется и работа может быть завершена ранее указанного срока только в случае получения информации об ошибке (т.е. уведомления о том, что ответных пакетов точно не будет).
-W время ожидания ответа
  Время ожидания (в секундах) ответного пакета. Принимается во внимание только если не было принято ни одного ответа. В противном случае программа ожидает получения двух ответов.
При использовании команды ping для локализации неполадки сначала запустите ее с адресом локального хоста для проверки работоспособности локального сетевого интерфейса. Затем проверяйте связь посредством ping со все более удалёнными компьютерами и шлюзами. Время прохождения сигналов в обе стороны и потери пакетов подсчитываются и анализируются позднее. Если принимаются дублированные пакеты, то они не включаются в статистику утерянных пакетов, хотя время прохода таких пакетов включается в статистику минимального/среднего/максимального времени. После отправки и получения указанного количества пакетов или при прерывании работы программы сигналом SIGINT выводится краткий итог работы. Более краткую статистику можно получить без прерывания процесса с помощью сигнала SIGQUIT.

Если ответные пакеты не будут получены, то программа завершит работу с кодом выхода 1. Если указаны количество пакетов и ограничение на время работы, но по истечении этого времени принято менее запрошенного числа пакетов, то программа также завершит работу с кодом выхода 1. При других ошибках выход будет произведен с кодом 2. Иначе программа завершает работу с кодом 0. Эти значения позволяют использовать коды выхода для определения доступности серверов и компьютеров в сети.

Эта программа предназначена для тестирования сетей, управления сетями и измерения производительности. Из-за нагрузок, которые она создаёт в сети, неразумно использовать ping в рабочее время или в автоматических сценариях.

ОПИСАНИЕ ПАКЕТОВ ICMP

Заголовок IP без параметров имеет размер 20 байтов. Пакет ICMP ECHO_REQUEST содержит дополнительные 8 байтов, предназначенные для заголовка ICMP, и произвольное количество заполняющих байтов (для обеспечения требуемого размера пакета), определяемое аргументом размер пакета данных (по умолчанию 56). Поэтому количество полученных данных из пакета IP типа ICMP ECHO_REPLY всегда будет на 8 байтов (заголовок ICMP) больше, чем задаваемое.

Если заданный размер данных не меньше размера структуры данных времени, то программа включает в них временную метку, используемую для измерения времени прохода сигнала в обе стороны. В противном случае такое время не будет измеряться.

ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЕННЫЕ ПАКЕТЫ

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

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

ТЕСТИРОВАНИЕ НА РАЗЛИЧНЫХ ДАННЫХ

(Меж)сетевая часть механизма передачи данных не должна обрабатывать пакеты по-разному, в зависимости от содержащихся в них данных. К сожалению такие проблемы часто встречаются в сетях и остаются невыявленными достаточно долго. Во многих случаях оказывается, что некорректно обрабатывается некоторый вырожденный шаблон, например, состоящий из одних нулей или единиц, либо близкий к нему. Простой проверки по вырожденным шаблонам данных недостаточно, т.к речь идёт о данных на уровне канала данных, которые могут соотноситься с указываемыми вами данными самым сложным образом.

В любом случае, такие проблемы означают, что вам предстоит очень много работ по тестированию и выявлению вышедшего из строя элемента. Если вам повезет, то вы найдёте файл, который вообще не будет передаваться по сети, или будет передаваться очень долго (по сравнению с файлами такого же размера), и затем сможете исследовать его на предмет возможных проблемных шаблонов, проверить которые можно с помощью ключа -p программы ping.

ВРЕМЯ АКТУАЛЬНОСТИ (TTL)

Значение TTL для пакетов IP задаёт максимальное количество IP-маршрутизаторов, через которое пакет еще будет доставляться, а не считаться утерянным. Сейчас каждый маршрутизатор в Интернете уменьшает поле TTL при обработке пакета на единицу.

Согласно спецификации TCP/IP значение поля TTL для пакетов TCP должно быть равно 60, но многие системы используют меньшие значения (4.3 BSD использует 30, 4.2 использует 15).

Максимальное значение данного поля равно 255, и многие Unix-системы устанавливают поле TTL для пакетов ICMP ECHO_REQUEST в 255. Поэтому иногда получается, что вы можете проверить связь командой “ping” до некоторых компьютеров, но не можете связаться с ними программами telnet(1) или ftp(1).

В обычном режиме ping выводит значения времени актуальности принятых (возвращенных) пакетов. При приеме пакета удаленной системой она может выполнить одно из трех возможных действий с полем TTL в ответ:

o Не изменять его; это делали системы Berkeley Unix до выпуска BSD 4.3 Tahoe. TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов на пути в обе стороны.
o Установить его в 255: это то, что системы Berkeley Unix делают сейчас. В этом случае значение TTL в принятом пакете будет 255 минус количество пройденных маршрутизаторов от удаленной системы до исходной.
o Установить его в какое-либо другое значение. Некоторые машины устанавливают его равным используемому для TCP пакетов, например, либо 30 либо 60. Другие системы могут использовать вообще непредсказуемые значения.

НЕДОРАБОТКИ (BUGS)

o Многие узлы и шлюзы игнорируют параметр RECORD_ROUTE.
o Максимальная длина заголовка IP слишком мала для полноценной работы таких параметров, как RECORD_ROUTE. Однако, мало что можно сделать по этому поводу.
o Использовать лавинообразный режим вообще не рекомендуется, а в случаях когда целью является широковещательный адрес, лавинообразный режим следует применять в условиях тщательного контроля.

СМОТРИ ТАКЖЕ

netstat(1), ifconfig(8).

ИСТОРИЯ

Команда ping впервые появилась в 4.3BSD.

Настоящим документом описывается адаптированная для Linux версия программы.

БЕЗОПАСНОСТЬ

Для ping требуется функция CAP_NET_RAWIO. На программу может быть установлен бит set-uid root.

РАСПРОСТРАНЕНИЕ

ping является частью пакета iputils, исходный код последней версии которой доступен по адресу http://www.skbuff.net/iputils/iputils-current.tar.bz2.

ПЕРЕВОД

Перевод на русский язык выполнил Николай Шафоростов <shafff@ukr.net> 2007.

Конвертирование в формат man выполнил Артур Юнусов <mcroodberg@mail.ru> 2010.


iputils-071127 PING (8) 09 декабря 2007 г.
Перейти в начало страницы |  Раздел 8 |  Главный указатель.
Сгенерировано manServer 1.07 из /home/stupin/man/man8/ping.8.gz с использованием макросов man.