SliTaz Man Pages

Community Doc Forum Pro Shop Bugs Hg Cook

PING

Section: Linux Programmer's Manual (8)
Updated: iputils-ss001110
Index Return to Main Contents
November 10, 2000

НАЗВАНИЕ

ping - посылает пакеты ICMP ECHO_REQUEST на сетевой компьютер

СИНТАКСИС

ping [-LRUbdfnqrvV ] [-c count ] [-i interval ] [-l preload ] [-p pattern ] [-s packetsize ] [-t ttl ] [-w deadline ] [-I interface address ] [-T timestamp option ] [-Q tos ] [-M hint ] host

ОПИСАНИЕ

Ping использует обязательные ECHO_REQUEST датаграммы для получения ICMP протоколом ответа ICMP ECHO_RESPONSE с узла или шлюза. ECHO_REQUEST датаграммы (``pings'') имеют IP и ICMP заголовок, сопровождаемый структурой “struct timeval” и затем случайными байтами, используемыми для заполнения пакета. Параметры могут быть такими:

-b
Разрешает проверку широковещательного адреса.
-c count
Остановить работу после передачи count пакетов ECHO_REQUEST deadline , ping ждет count пакетов ECHO_REPLY , пока не закончится таймаут.
-d
Устанавливает параметр SO_DEBUG на используемый сокет.
-f
Избыточный ping. Выдает пакеты с наибольшей скоростью (по мере их возвращения) или со скоростью 100 раз в секунду, в зависимости от того, где получается большая скорость. Для каждого посланного запроса ECHO_REQUEST печатается ``.'', а для каждого принятого ECHO_REPLY печатается забой. Это обеспечивает динамичный показ эффективности работы. Использовать этот параметр может только суперпользователь. Bf -emphasis Этот параметр может перегрузить Вашу сеть и использовать его надо с большой осторожностью! Ef
-i wait
Ожидать wait секунд между отправкой пакетов. По умолчанию между отправкой пакетов делается пауза в 1 секунду. Этот параметр несовместим с параметром -f
-I interface address
Установить адрес источника в указанный interface address.
-l preload
Если указан параметр preload , то ping посылает с максимальной скоростью наибольшее количество пакетов и затем переходит в нормальный режим работы. Только суперпользователь может использовать этот параметр.
-L
Подавлять циклические петли для широковещательных пакетов. Этот ключ применяется только если назначением является широковещательный адрес.
-n
Только цифровой вывод. Не расшифровывать имена (символьный вид) адресов.
-p pattern
Вы можете указать до 16 байтов шаблона для заполнения пакетов. это полезно при диагностике проблем в сети. Например, “-p ff ” заполнит все пакеты пустыми символами.
-Q tos
Устанавливает качественную связь - связанные биты в датаграммах ICMP. tos может быть либо десятичным либо шестнадцатеричным числом. Обычно (RFC1349) это интерпретируется так: 0 зарезервировано (сейчас определено для управления событиями при переполнением), 1-4 для Типа Сервиса и 5-7 для предпочитаемых значений. Возможные значения для Типа Сервиса: минимальная время: 0x02, надежность: 0x04, пропускная способность: 0x08, задержка: 0x10. Установка нескольких битов TOS не должна производиться одновременно. Возможный диапазон для особых предпочитаемых значений: от приоритетного (0x20) до сетевого управления (0xe0). Вы должны быть суперпользователем (иметь возможность использовать CAP_NET_ADMIN) для использования Критического (или выше) предпочитаемых значений. Вы не можете устанавливать бит 0x01 (зарезервирован) пока не включен ECN в ядре. В RFC2474 эти поля переопределены как 8-битные Дифференцированные Сервисы (Differentiated Services - DS), состоящие из: биты 0-1 разделенных данных (тут будет использоваться ECN), и биты 2-7 для Кодов Дифференцированных Сервисов (Differentiated Services Codepoint - DSCP).
-q
Тихий вывод. Ничего не выводится, кроме итоговых строк в начале и в конце.
-R
Записывать маршрут. Включает параметр RECORD_ROUTE для пакетов ECHO_REQUEST и показывает буфер маршрута для возвращенных пакетов. Заметим, что заголовок IP достаточен для пересылки по таким маршрутам. Многие узлы игнорируют или не обрабатывают этот параметр.
-r
Минуя обычные таблицы маршрутизации передает данные прямо на компьютер в сети. Если компьютер не находится в текущей сети, то возвращается ошибка. Этот параметр может использоваться для проверки локальной машины через интерфейс, по которому не идет маршрутизация (например после того, как интерфейс был сброшен routed(8)).
-s packetsize
Определяет размер пакетов для пересылки. По умолчанию 56, преобразующиеся в 64 ICMP байтов данных при комбинации с 8 байтами ICMP заголовка.
-t ttl
Устанавливает время жизни IP для широковещательных пакетов. Только для широковещательных адресов.
-T timestamp option
Устанавливает специальную временную метку IP. Timestamp option может быть либо tsonly (только временная метка), tsandaddr (временная метка и адреса), или tsprespec host1 [host2 [host3 [host 4]]] (временная метка переходы).
-M hint
Выбирает стратегию дешифровки маршрута MTU. hint может быть либо do (запретить фрагментацию, даже локальную), want (выполнять дешифровку PMTU, фрагментация локальная если размер пакета достаточно велик), либо dont (не устанавливать флаг DF).
-U
Выводить настоящую задержку между пользователями (старое поведение).
-v
Выводить подробную информацию.
-V
Показать версию.
-w deadline
Определить таймаут в секундах до окончания работы ping - независимо от того, сколько пакетов было передано и получено.

При использовании ping для проверки связи сначала запустите ping по вашей локальной сети. Затем проверьте связь ping-ом с все более удаленными компьютерами и шлюзами. Время связи и потери пакетов подсчитываются и анализируются позднее. Есди принимаются дублированные пакеты, то они не включаются в статистику утерянных пакетов, хотя время прохода таких пакетов включается в статистику минимального/среднего/максимального времени. Когда указанное количество пакетов было отправлено (получено) или если программа была прервана сигналом SIGINT , то выводится краткий итог работы.

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

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

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

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

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

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

Ping выводит сообщения о дублированных и поврежденных пакетах. Дублированные пакеты вообще не должны существовать, они свидетельствуют о ненадежной связи.

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

ПОПЫТКА РАЗЛИЧАТЬ ПЕРЕДАВАЕМЫЕ ДАННЫЕ

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

В любом случае такие проблемы означают, что Вам предстоит очень много работ по тестированию и выявлению ошибочного сегмента. Если Вам повезет, то вы найдете файл, который вообще не будет передаваться по Вашей сети, или будет передаваться очень долго (по сравнению с файлами такого-же размера), и затем сможете изучить его на предмет возможных проблемных шаблонов, проверить которые Вы сможете, используя ключ -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 в ответ:

НАЙДЕННЫЕ ОШИБКИ

Многие узлы и шлюзы игнорируют RECORD_ROUTE параметр.

Максимальная длина заголовка IP слишком мала для нормальной работы параметров типа RECORD_ROUTE

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

СМ. ТАКЖЕ

netstat(1), ifconfig(8)

ИСТОРИЯ

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

Index

НАЗВАНИЕ
СИНТАКСИС
ОПИСАНИЕ
ОПИСАНИЕ ПАКЕТОВ ICMP
ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЕННЫЕ ПАКЕТЫ
ПОПЫТКА РАЗЛИЧАТЬ ПЕРЕДАВАЕМЫЕ ДАННЫЕ
TTL
НАЙДЕННЫЕ ОШИБКИ
СМ. ТАКЖЕ
ИСТОРИЯ