ping6

Отправка пакетов ECHO_REQUEST ICMPv6 хостам в сети (UNIX)

Синтаксис:

ping6 [-dfHnNqRvw] [-a тип_адреса] [-b размер_буфера] [-c количество]

[-h предельное_количество_переходов] [-I интерфейс] [-i ожидание] [-l предварительная_нагрузка]

[-p шаблон] [-P политика] [-S адрес_источника] [-s размер_пакета]

[переходы...] хост

Поддерживаемые платформы:

Neutrino

Опции:

-a тип_адреса

Создать запрос информации об узле ICMPv6 для получения адреса узла (вместо ECHO_RESPONSE), где значение аргумента тип_адреса представлено строкой, состоящей из следующих символов:

A

Запросить возврат альтернативных адресов отвечающей стороны (если не указано иное, возвращаются только индивидуальные адреса). Следует отметить, что в спецификации отсутствуют указания относительно способа получения альтернативных адресов отвечающей стороны. Данная опция является экспериментальной.

a

Запросить все индивидуальные адреса отвечающей стороны. Если данная опция не указана, то запрашиваются только те адреса, которые относятся к интерфейсу с адресом отвечающей стороны.

c

Запросить адреса отвечающей стороны, совместимые с IPv4 и отображаемые на IPv4.

g

Запросить глобальные адреса отвечающей стороны.

l

Запросить локальные адреса отвечающей стороны.

s

Запросить локальные адреса сети отвечающей стороны.

-b размер_буфера

Установить размер буфера сокета.

-c количество

Остановиться после отправки (и получения) указанного количества пакетов ECHO_RESPONSE.

-d

Установить опцию SO_DEBUG для используемого сокета.

-f

Выполнить тестирование в режиме "лавинной отправки пакетов": отправлять пакеты сразу после получения или со скоростью сто раз в секунду, в зависимости от того, какой из этих двух методов работает быстрее. Для каждого отправленного пакета ECHO_REQUEST выводится символ ".", для каждого полученного пакета ECHO_REPLY выводится символ возврата на позицию. Это позволяет оперативно предоставить информацию о количестве проигнорированных пакетов.

Примечание. Только пользователь с полномочиями суперпользователя (root) может использовать опцию - f. Тем не менее, применять ее следует с осторожностью, поскольку это может повлечь за собой возникновение высокой нагрузки на сеть.

-H

Выполнить попытку обратного поиска адресов IPv6.

-h предельное_количество_переходов

Установить предельное количество переходов для IPv6.

-I интерфейс

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

-i ожидание

Отправлять пакеты с указанным интервалом (в секундах). Значение по умолчанию одна секунда. Эта опция несовместима с опцией -f.

-l предварительная_нагрузка

Отправить указанное количество пакетов с максимально возможной скоростью и затем вернуться к нормальному поведению. Эта опция может применяться только суперпользователем (root).

-n

Вывести только числовые данные. Поиск адресов хостов по символьным именам не выполняется.

-N

Проверить группу многоадресной передачи информации об узле (ff02::2:xxxx:xxxx). В значении аргумента хост должна быть указана строка с именем хоста целевого узла (указать численный адрес IPv6 в качестве значения невозможно). Вычисление группы многоадресной передачи информации об узле производится в соответствии с заданным значением аргумента хост, полученные данные используются в качестве конечного пункта назначения. Поскольку группа многоадресной передачи информации об узле является локальной, следует указать канал назначения с помощью опции -I.

-p шаблон

Заполнить пакет указанным количеством "заполняющих" байтов. Максимальное значение 16. Использование данной опции может оказаться целесообразным для диагностики проблем в сети, связанных с данными. Например, выполнение команды - p ff обеспечивает заполнение отправляемых пакетов единицами. В случае использования опции -q выводятся все ICMP-сообщения об ошибках, созданные в результате передачи собственных сообщений ECHO_REQUEST.

-P политика

Определить политику IPsec, применяемую при зондировании.

-q

Режим вывода краткой информации. Отображать только строки со сводной информацией при запуске и завершении работы.

-R

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

-S адрес_источника

Задать адрес источника пакетов с запросами. Адрес источника должен быть представлен одним из индивидуальных адресов передающего узла. Если при этом также определен исходящий интерфейс с помощью опции -I, то в значении аргумента адрес_источника должен быть указан адрес, назначенный указанному интерфейсу.

-s размер_пакета

Отправить указанное количество байтов данных. Значение по умолчанию 56, преобразуемое в 64 байта данных ICMP в результате объединения с 8 байтами данных заголовка ICMP. При необходимости можно увеличить размер буфера сокета с помощью опции -b.

-v

Режим вывода расширенной информации. Вывести список всех полученных пакетов ICMP.

-W

Аналогична опции -w, но при этом используется прежний формат пакетов в соответствии с проектом 03. Эта опция предусмотрена для обеспечения обратной совместимости.

-w

Создать запрос информации о доменном имени узла ICMPv6 (вместо ECHO_REQUEST). Опция -s не действует в случае использования опции -w.

переходы

Адреса IPv6 промежуточных узлов, помещаемые в заголовок маршрутизации (тип 0).

хост


Адрес IPv6 конечного узла назначения.

Описание:

Утилита ping6 для получения пакетов ICMP6_ECHO_RESPONSE от указанного хоста или шлюза использует обязательную дейтаграмму ICMP6_ECHO_REQUEST протокола ICMPv6. В дейтаграммах ICMP6_ECHO_REQUEST, называемых ping-запросами, содержится заголовок IPv6 и ICMPv6 в формате, соответствующем стандарту RFC 2463.

Примечание. Для этой утилиты в полномочиях пользователя необходимо установить бит Setuid ("set user ID" (установить идентификатор пользователя)). В случае использования утилит mkefs, mketfs или mkifs на хосте Windows для добавления этой утилиты в образ необходимо задать атрибут perms для явного определения полномочий, а также атрибуты uid и gid для корректной настройки принадлежности.

При использовании утилиты ping6 для выявления неисправностей следует сначала запустить ее на локальном хосте для проверки доступности и работоспособности локального сетевого интерфейса. После этого следует выполнить команду ping для удаленных на различное расстояние хостов и шлюзов. Во время работы утилиты вычисляется время на передачу и прием пакетов и статистика по потере пакетов. Полученные дублирующие пакеты не учитываются при вычислении статистики по потере пакетов, однако время на передачу и прием таких пакетов используется для подсчета минимальных/средних/максимальных значений времени на передачу и прием. После отправки (и получения) указанного количества пакетов или в случае завершения работы утилиты ping6 с помощью сигнала SIGINT выводится краткая сводная информация.

Примечание. Утилита ping6 предназначена для тестирования, оценки сетей и управления ими. С учетом нагрузки на сеть, которая может возникнуть во время ее работы, не следует использовать утилиту ping6 во время работы в нормальном режиме или в автоматических сценариях.

Дублированные и поврежденные пакеты

Утилита ping6 выводит информацию о дублированных и поврежденных пакетах.

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

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

Применение различных шаблонов данных

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

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

Файлы:

Для работы утилиты ping6 требуется разделяемая библиотека libsocket.so.

Статус завершения:

0

Успешно (хост находится в работоспособном состоянии).

Ненулевое значение

Возникла ошибка. Заданы некорректные аргументы или отсутствует ответ от хоста.