The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

ping (8)
  • ping (1) ( Solaris man: Команды и прикладные программы пользовательского уровня )
  • ping (1) ( Русские man: Команды и прикладные программы пользовательского уровня )
  • ping (8) ( FreeBSD man: Команды системного администрирования )
  • >> ping (8) ( Русские man: Команды системного администрирования )
  • ping (8) ( Linux man: Команды системного администрирования )
  • Ключ ping обнаружен в базе ключевых слов.
  •  

    ИМЯ

    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, структуры данных struct timeval и произвольного числа несмысловых байтов для заполнения пакета.

     

    ОПЦИИ

    -a
    Сопровождать работу программы звуком.
    -A
    Адаптировать интервал между отправками пакетов к длительности их доставки и возврата. Таким образом, если только не выполняется преднагрузка, в любой момент времени может быть не больше одного пакета, на который не получен ответ. Минимальный интервал для не администратора - 200 мс. В сетях с низким rtt данный режим эквивалентен лавинообразному.
    -b
    Разрешить использование широковещательного адреса в качестве целевого.
    -B
    Запретить изменение исходного адреса для пакетов во время работы программы. Исходный адрес определяется в начале работы ping.
    -c количество
    Остановить работу после передачи заданного количества пакетов ECHO_REQUEST. Если задано ограничение-на-время-работы, программа будет ждать указанное количество ответных пакетов ECHO_REPLY в указанный период.
    -d
    Устанавливает параметр SO_DEBUG на используемый сокет. Примечание: этот параметр не используется ядром Linux.
    -F идентификатор-потока
    Устанавливать идентификатор-потока в отправляемых пакетах (только для 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 этот байт переопределён как DS (Differentiated Services - дифференцированные службы): разряды 0-1 отведены для отдельных данных (тут будет использоваться ECN) разряды 2-7 для DSCP (Differentiated Services Codepoint - точка кода дифференцированных служб)

    -q
    Выводить только начальные и итоговые данные (не выводить информацию об отдельных запросах).
    -R
    Записывать маршрут. Для пакетов ECHO_REQUEST будет включен параметр RECORD_ROUTE и на экран будет выведен буфер маршрута для возвращённых пакетов. Заметим, что в заголовок IP помещается не больше 9 таких маршрутов. Многие узлы игнорируют или не отбрасывают этот параметр.
    -r
    Не использовать обычные таблицы маршрутизации и передавать данные прямо на компьютер, подключенный к интерфейсу. Если компьютер не находится в сети с прямым подключением, то возвращается сообщение об ошибке. Этот параметр может использоваться вместе с -I для проверки локальной системы через интерфейс, по которому не идет маршрутизация (например после того, как интерфейс был сброшен routed(8)).
    -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) больше, чем задаваемое.

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

     

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

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

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

     

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

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

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

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

     

    ИЗВЕСТНЫЕ ОШИБКИ

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

     

    СМ. ТАКЖЕ

    netstat(1), ifconfig(8).

     

    ИСТОРИЯ

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

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

     

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

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

     

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

    ping является частью пакета iputils, который доступен по адресу ftp://ftp.inr.ac.ru/ip-routing/iputils-current.tar.gz.

     

    ПЕРЕВОД

    Николай Шафоростов <shafff@ukr.net> 2007


     

    Index

    ИМЯ
    ОБЗОР
    ОПИСАНИЕ
    ОПЦИИ
    ОПИСАНИЕ ПАКЕТОВ ICMP
    ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЁННЫЕ ПАКЕТЫ
    ТЕСТИРОВАНИЕ НА РАЗЛИЧНЫХ ДАННЫХ
    ВРЕМЯ АКТУАЛЬНОСТИ (TTL)
    ИЗВЕСТНЫЕ ОШИБКИ
    СМ. ТАКЖЕ
    ИСТОРИЯ
    БЕЗОПАСНОСТЬ
    РАСПРОСТРАНЕНИЕ
    ПЕРЕВОД


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру