ryg

Команда ping

Синтаксис:

 ping [-AaCDdfnoQqRrv] [-b boundif] [-c count] [-G sweepmaxsize] [-g sweepminsize] [-h sweepincrsize]
          [-i wait] [-l preload] [-M mask | time] [-m ttl] [-P policy] [-p pattern] [-S src_addr]
          [-s packetsize] [-t timeout] [-W waittime] [-z tos] host

 ping [-AaDdfLnoQqRrv] [-b boundif] [-c count] [-I iface] [-i wait] [-l preload] [-M mask | time]
          [-m ttl] [-P policy] [-p pattern] [-S src_addr] [-s packetsize] [-T ttl] [-t timeout]
          [-W waittime] [-z tos] mcast-group

Описание:

Утилита ping используя ICMP протокол посылает сигнал ECHO_REQUEST и ожидает ответа от удаленного хоста в виде ECHO_RESPONSE.

 ECHO_REQUEST datagrams ("pings'') have an IP and ICMP header,  followed by a "struct timeval'' and then an arbitrary number of  "pad'' bytes used to fill out the  packet. 

Параметры:

-A Подать звуковой сигнал (вывести символ ASCII 0x07) перед посылом пакета и если ответ не получен.
-a Подать звуковой сигнал (вывести символ ASCII 0x07) когда будет получен любой ответ. Параметр игнорируется, если присутствуют другие сигналы вывода.
-b boundif  
-C Запрещает использование сокетов (socket) использующих протоколы сотовой связи
-c count Ограничить количество пакетов.
-D Устанавливает Don't Fragment bit (DF) в IP заголовке, что предотваращает фрагментацию пакетом роутером, если у него MTU установлено меньше чем сам пакет. (FreeBSD)
-d Установить параметр SO_DEBUG в сокете. 
-f Лавина. Исходящие пакеты отправляются сразу по получения ответа, либо сто раз в секунду. Для каждого отправленного пакета ECHO_REQUEST при печати добавляется точка "."  и удаляется при печати в полученных пакетах. Это позволяет легко определить сколько пакетов теряется. Параметр доступен только супер-пользователю. Данная процедура сильно нагружает сеть и должна использоваться с осторожностью.
-G sweepmaxsize  
-g sweepmaxsize  
-h sweepmaxsize  
-I iface  
-i wait Время ожидания (wait) в секундах между отправлением пакетов. По умолчанию время ожидания равно одной секунде. Время ожидания может быть дробным, но только суперпользователь может устанавливать время меньше одной секунды. Данный параметр несовместим с параметром -f
-L Подавляет циклическую групповую (multicast) передачу пакетов. Этот параметр используется в случае, если пингуемый адрес групповой.
-l preload Параметр доступен только супер-пользователю. Будут отправлено preload пакетом максимально быстро и без ожидания ответа. Потом перейдет в нормальный режим работы
-M mask | time  
-m ttl Установить время жизни отправляемых пакетов. Если параметр не определен, ядро использует значение переменной MIB из net.inet.ip.ttl
-n Не расшифровывать адреса хостов и выводить данные только в виде цифровых адресов. 
-o Завершить после первого успешно полученного пакета
-P policy Определяет политику для протокола IPsec для данной сессии ping
-p pattern Можно указать 16 байт собственной информации для заполнения отправляемых пакетов. Этот параметр может быть использован для диагностики проблем в сети, например, пакеты с параметром ping -p ff  будут заполнены единицами.
-Q Частично "тихий" режим. Не отображаются сообщения об ошибках ICMP, если они есть в ответе на запрос. Изначально параметр -v требовал выводить такие сообщения, но -v воводит все сообщения об ошибках ICMP, что может перегрузить вывод. Без данного параметра ping выводит все сообщения об ошибках причиной котоых является собственные сообщения ECHO_REQUEST.
-q "Тихий" режим. Не выводятся промежуточные результаты. Только начальная строка и итоговые данные.
-R

Записывать маршрут. В пакет ECHO_REQUEST записывается параметр RECORD_ROUTE. В итоге отображается маршрут.
Замечание: Заголовок IP не может вмещать более 9 узлов, лучше использовать команду traceroute для определения маршрута. Многие узлы игнорируют параметр RECORD_ROUTE.

-r Игнорировать стандартную таблицу маршрутизации (routing tables) и попытаться отправить непосредственно на host как своей сети. Если host не имеет прямого присоединения, будет возвращена ошибка. Этот параметр может быть использован для проверки соединения с локальным сервером.
-S src_addr  
-s packetsize Определяет количество байт в отправляемом пакете. По умолчанию равен 56, что преобразовывается в 64 байта данных после добавления заголовка ICMP. Параметр не может быть использован с "развернутым" ping.
-T ttl Устанавливает время жизни группоывых (multicasted) IP пакетов. Используется только в случае назначения пинга на групповой адрес.
-t timeout Определяет время работы утилиты в секундах, независимо от того сколько пакетов было получено
-v  Подробный вывод. Показывает полученные пакеты в том числе и отличные от ответов ECHO_RESPONSE 
-W waittime Время ожидания ответа в миллисекундах для каждого отправленного пакета. Если ответ придёт позже заданного времени, то будет напечатано "нет ответа", однако данный результат будет использован при расчёте среднего времени отклика.
-z tos  

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

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

Пакеты ICMP (подробности)

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

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

Утилита сообщает о поврежденных, либо о задублированных пакетах

Примеры:

Получить подробную информацию о времени ответа, по 10 пакетам:

ping -c 10 www.apple.com

traceroute -проверить маршрут к заданному серверу
netstat - показать маршруты и состояние сетевого соединения
ifconfig - настройка сетевого соединения
ipconfig - временная настройка сетевых соединений
scutil    - Управление параметрами системы и сети.

Весь список команд terminal Mac OS X