Что означает ключ е в команде ping. Справка по команде ping и ее параметрам

Команда ping используются, чтобы убедиться, что компьютер может взаимодействовать с Сетью и ресурсами внутри нее. Ping работает за счёт отправки echo request сообщений по протоколу ICMP (Internet Control Message Protocol ) и ожидания ответа. Она позволяет узнать, сколько ответов получено, и сколько времени на это ушло:

Синтаксис команды Ping

ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [-w timeout] [-R] [-S srcaddr] [-p] [-4] [-6] target

T = эта опция будет пинговать целевое устройство до тех пор, пока вы принудительно не остановите запрос с помощью сочетания клавиш Ctrl+C .

A = запросит имя хоста по целевому IP-адресу .

N число = задаёт количество ICMP сообщений, которое должно быть отправлено. Если выполнить команду ping без указания этого параметра, то по умолчанию будет отправлено 4 запроса.

L размер = задает размер пакета echo-запросов (от 32 до 65,527 ). Без указания этой опции ping отправляет echo-запросы размером в 32 байта.

F = предотвращает фрагментацию echo-запросов маршрутизаторами, находящимися в цепочке между вами и целевым устройством. Опцию -f часто используют для отладки проблем, связанных с PMTU (Path Maximum Transmission Unit ).

I TTL = задаёт длительность TTL (Time to Live ), максимальное значение которой составляет 255 .

V TOS = устанавливает значение TOS (Type of Service ). Параметр не работает в Windows 7 и выше.

R число = эту опцию для команды ping нужно использовать для указания количества переходов между вашим и целевым компьютером, которое вы хотите записать и вывести. Максимальное значение 9 , так что, если вам интересно узнать точное количество звеньев между двумя устройствами, то лучше использовать tracert .

S число = время в формате Internet Timestamp , за которое получается и отправляется каждый echo-запрос . Максимальное значение здесь 4 , а это значит, что можно зафиксировать лишь первых 4 перехода.

W timeout = значения тайм-аута в миллисекундах, в течение которого ping будет ожидать каждого ответа. Если не использовать опцию -w, то тайм-аут по умолчанию будет составлять 4000 миллисекунд (4 секунды ).

R = использование заголовка для проверки также и обратного маршрута.

S srcaddr = используемый адрес источника.

P = используется для проверки состояния адреса Hyper-V Network Virtualization .

4 = проверка состояния подключения только по протоколу IPv4 . Это требуется, когда цель имеет только имя хоста и неизвестен IP-адрес .

6 = принудительная проверка состояния подключения по протоколу IPv6 . Это необходимо, когда известно только имя хоста.

target (цель ) = удаленное устройство, состояние которого нужно проверить. Это может быть как IP , так и имя хоста.

/? = вывод справки обо всех доступных параметрах команды ping .

Примечание: -f , -v , -r , -s , -j и -k работают только при проверке состояния IPv4-адресов . Опции -R и -S работают только с протоколом IPv6 .

В команде ping описание есть и менее популярные параметры: [-j host-list] , [-k host-list] и [-c compartment] . Чтобы получить дополнительную информацию о них, воспользуйтесь командой /? .

Примеры команды Ping

ping -n 5 -l 1500 www.google.com

В этом примере команда ping используется для проверки состояния хоста www.google.com . Опция -n указывает команде ping на необходимость отправить пять echo-запросов ICMP вместо стандартных четырех, а опция —l задаёт размер пакета для каждого запроса в 1500 байт вместо 32 байт по умолчанию. При таком запросе вы получите следующий результат:

Pinging www.google.com with 1500 bytes of data: Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=68ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=65ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=66ms TTL=52 Reply from 74.125.224.82: bytes=1500 time=70ms TTL=52 Ping statistics for 74.125.224.82: Packets: Sent = 5, Received = 5, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 65ms, Maximum = 70ms, Average = 67ms

Пункт 0% loss в статистике проверки состояния 74.125.224.82 говорит о том, что все посланные к www.google.com echo-запросы были возвращены. Это значит, что до тех пор, пока сеть активна, можно взаимодействовать с сайтом Google без каких-либо проблем.

В этом примере использования команды ping в cmd проверяется состояние 127.0.0.1 , который также известен как IP-адрес localhost в протоколе IPv4 .

Ping 127.0.0.1 – отличный способ проверить работоспособность всех функций Windows . Но с помощью этого запроса не получится узнать о состоянии своего или удаленного компьютера. Существует и IPv6-версия этой проверки — ping::1 .

ping -a 192.168.1.22

В этом примере мы пытаемся узнать имя хоста, привязанное к IP-адресу 192.168.1.22 . При этом проверка должна быть проведена в штатном режиме, даже если имя хоста выяснить не удастся.

Pinging J3RTY22 with 32 bytes of data: Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Reply from 192.168.1.22: bytes=32 time=1ms TTL=64 Reply from 192.168.1.22: bytes=32 time<1ms TTL=64 Ping statistics for 192.168.1.22: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms

Как видно из приведенного выше примера, команда ping в Windows 7 определила проверяемый IP-адрес как имя хоста J3RTY22 , после чего осуществила проверку состояния при стандартных настройках.

ping -t -6 SERVER

В этом примере мы, при помощи опции -6 , включаем принудительное использование протокола IPv6 , а затем приступаем к бесконечной проверке состояния SERVER (при помощи опции -t ).

Pinging SERVER with 32 bytes of data: Reply from fe80::fd1a:3327:2937:7df3%10: time=1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Reply from fe80::fd1a:3327:2937:7df3%10: time<1ms Ping statistics for fe80::fd1a:3327:2937:7df3%10: Packets: Sent = 7, Received = 7, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 1ms, Average = 0ms Control-C ^C

После семи полученных ответов мы намеренно прервали проверку состояния. Вспоминаем, как остановить команду ping ? При помощи Ctrl+C . Также -6 привела к использованию адресов по протоколу IPv6 .

Совет: число после знака % в сгенерированных в данном примере ответах указывает на Zone ID протокола IPv6 , которая определяет используемый сетевой шлюз. Можно сгенерировать таблицу из Zone ID , совпадающих с названием вашего сетевого шлюза, при помощи netsh interface ipv6 show interface . IPv6 Zone ID отображается числом в колонке Idx .

Поддержка команды Ping

Команда ping поддерживается в командной строке ОС Windows 10 , Windows 8 , Windows 7 , Windows Vista и Windows XP , а также Windows 98 и 95 .

С помощью отправки сообщений с эхо-запросом по протоколу ICMP проверяет соединение на уровне протокола IP с другим компьютером, поддерживающим TCP/IP. После каждой передачи выводится соответствующее сообщение с эхо-ответом. Ping - это основная TCP/IP-команда, используемая для устранения неполадки в соединении, проверки возможности доступа и разрешения имен. Команда ping , запущенная без параметров, выводит справку.

Синтаксис

ping [-t ] [-a ] [-n счетчик ] [ -l размер ] [-f ] [-i TTL ] [ -v тип ] [-r счетчик ] [-s счетчик ] [{-j список_узлов | -k список_узлов }] [ -w интервал ] [имя_конечного_компьютера ]

Параметры

-t Задает для команды ping отправку сообщений с эхо-запросом к точке назначения до тех пор, пока команда не будет прервана. Для прерывания команды и вывода статистики нажмите комбинацию CTRL-BREAK. Для прерывания команды ping и выйхода из нее нажмите клавиши CTRL-C. -a Задает разрешение обратного имени по IP-адресу назначения. В случае успешного выполнения выводится имя соответствующего узла. -n счетчик Задает число отправляемых сообщений с эхо-запросом. По умолчанию 4. -l размер Задает длину (в байтах) поля данных в отправленных сообщениях с эхо-запросом. По умолчанию 32 байта. Максимальный размер 65527. -f Задает отправку сообщений с эхо-запросом с флагом «Don"t Fragment» в IP-заголовке, установленном на 1. Сообщения с эхо-запросом не фрагментируются маршрутизаторами на пути к месту назначения. Этот параметр полезен для устранения проблем, возникающих с максимальным блоком данных для канала (Maximum Transmission Unit). -i TTL Задает значение поля TTL в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию берется значение TTL, заданное по умолчанию для узла. Для узлов Windows XP это значение обычно равно 128. Максимальное значение TTL 255. -v тип Задает значение поля типа службы (TOS) в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию это значение равно 0. тип это десятичное значение от 0 до 255. -r счетчик Задает параметр записи маршрута (Record Route) в IP-заголовке для записи пути, по которому проходит сообщение с эхо-запросом и соответствующее ему сообщение с эхо-ответом. Каждый переход в пути использует параметр записи маршрута. По возможности значение счетчика задается равным или большим, чем количество переходов между источником и местом назначения. Параметр счетчик имеет значение от 1 до 9. -s счетчик Указывает вариант штампа времени Интернета (Internet Timestamp) в заголовке IP для записи времени прибытия сообщения с эхо-запросом и соответствующего ему сообщения с эхо-ответом для каждого перехода. Параметр счетчик имеет значение от 1 до 4. -j список_узлов Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов . При свободной маршрутизации последовательные промежуточные точки назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов 9. Список узлов это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. -k список_узлов Указывает для сообщений с эхо-запросом использование параметра строгой маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов . При строгой маршрутизации следующая промежуточная точка назначения должна быть доступной напрямую (она должна быть соседней в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов равно 9. Список узлов это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. -w интервал Определяет в миллисекундах время ожидания получения сообщения с эхо-ответом, которое соответствует сообщению с эхо-запросом. Если сообщение с эхо-ответом не получено в пределах заданного интервала, то выдается сообщение об ошибке "Request timed out". Интервал по умолчанию равен 4000 (4 секунды). имя_конечного_компьютера Задает точку назначения, идентифицированную IP-адресом или именем узла. /? Отображает справку в командной строке.

Примечания

  • Команда ping позволяет проверить имя и IP-адрес компьютера. Если проверка IP-адреса успешная, и проверка имени нет, то имеет место проблема разрешения имен. В этом случае с помощью запросов DNS (Domain Name System) или с помощью методов разрешения имен NetBIOS проверьте, чтобы имя задаваемого компьютера было разрешено в локальном файле Hosts.
  • Эта команда доступна только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP) .

Примеры

Приведенный ниже пример содержит результаты работы команды ping :

C:\>ping example.microsoft.com

Pinging example.microsoft.com with 32 bytes of data:

Reply from 192.168.239.132: bytes=32 time=100ms TTL=124

Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Reply from 192.168.239.132: bytes=32 time=101ms TTL=124

Для отправки сообщения точке назначения 10.0.99.221 и сопоставления с ее узловым именем введите:

ping -a 10.0.99.221

Для отправки точке назначения 10.0.99.221 десяти собщений с эхо-запросом, каждое из которых имеет поле данных из 1000 байт, введите:

ping -n 10 -l 1000 10.0.99.221

Для отправки сообщения точке назначения 10.0.99.221 и записи маршрута для 4 переходов введите:

ping -r 4 10.0.99.221

Для отправки сообщения точке назначения 10.0.99.221 и задания свободной маршрутизации для точек назначения 10.12.0.1-10.29.3.1-10.1.44.1 введите:

ping -j 10.12.0.1 10.29.3.1 10.1.44.1 10.0.99.221

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

«Для чего в команде ping используются опции Loose, Strict, Record, Timestamp и Verbose?» - такой вопрос мне недавно встретился в вендорном экзамене. Они позволяют влиять на маршрутизацию ICMP пакетов и собирать информацию о транзитных L3-устройствах. Но занимаясь сетевыми технологиями уже достаточно давно, я почти никогда их не использовал.

Мне стало не совсем понятно, почему такой вопрос вообще присутствует в тесте. Вернувшись домой, решил узнать, вдруг я действительно постоянно упускаю из виду что-то важное?

Утилита ping нам всем хорошо знакома. Помимо стандартного «ping 8.8.8.8», можно использовать различные опции, среди которых присутствуют интересующие нас. Их наименование и описание у вендоров примерно одинаковое.

Из наиболее часто используемых я бы отметил следующие.

  • Количество отправляемых пакетов
    Вместо заданного количества пакетов по умолчанию (например, в Windows - четыре, в оборудовании Cisco - пять), мы можем отправить нужное. Сюда же можно отнести многими любимую опцию «-t» в ОС Windows, которая запускает бесконечную отправку пакетов.
  • Интерфейс источника
    В первую очередь актуально для сетевого оборудования. По умолчанию, при использовании команды ping устройство отправляет пакет с адресом ближайшего интерфейса к точке назначения. В случае тестирования функций NAT или проверки VPN, возникает необходимость отправлять ICMP пакеты с другого интерфейса. Ещё один классический пример: как доказать коллеге, что у него включён файрвол на хосте, а не сеть глючит. Запускаем ping с ядра сети без указания интерфейса – пингуется. С указанием неближайшего интерфейса – не пингуется.
  • Установка DF-бита
    Пакет с установленным DF-битом (=1) не может фрагментироваться. Данную опцию удобно использовать для определения максимально допустимого размера кадра (MTU) между двумя точками. Обычно используется в связке параметрами ниже.
  • Размер пакета
    Можно варьировать размер пакета. Вместе с установкой DF-бита помогает в определении MTU. Шлём большой пакет – 1500 байт. Не проходит. Шлём чуть меньше – 1300. Проходит. Шлём 1400. И так далее. В общем, метод дихотомии и MTU определён.
    В Windows мы указываем размер сегмента данных ICMP пакета. На устройствах Cisco – размер пакета IP с учётом заголовков.
  • Вариация размера пакета в указанном диапазоне
    Для тех, кто не любит метод дихотомии, может пригодиться данный режим. Мы указываем начальное значение размера пакета, конечное и шаг. Далее устройство отправляет пакеты, постепенно увеличивая их размер. Главное не забыть выставить DF-бит, а то всё насмарку.
За бортом остался ряд других опций (timeout, ToS и пр.), которыми лично я практически не пользуюсь.

Опции Loose, Strict, Record, Timestamp, Verbose включены в утилиту ping на многих сетевых устройствах. Есть поддержка в Windows.

Record (Record Route)

Пакет ICMP с опцией Record при прохождении через L3-устройства записывает IP-адреса исходящих интерфейсов. Делается это как в сторону пункта назначения, так и обратно. Это удобно, например, при диагностировании проблем, связанных с асинхронной маршрутизацией. Получается вроде traceroute, только лучше.

«Опции»

Слово «опции» я использую в двух контекстах: опции команды ping и опции в пакете ICMP. В случае ICMP, опции – это дополнительные параметры, которые устанавливаются в заголовке IPv4 (далее будем указывать просто IP) в поле Options. Поэтому корректнее, конечно, говорить про опции IP. ICMP просто их использует в своей работе.


Но рано радоваться: максимальное количество записей равно девяти. Причём в них входят данные об IP-адресах устройств в обе стороны. Обусловлено данное ограничением тем, что информация об IP-адресах сохраняется не в теле пакета, а в заголовке. Поле с опциями не может быть слишком большим. Оно ограничено 40 байтами. Нам, в конце концов, по сети нужно гонять полезные данные, а не заголовки. В этот объём помещается всего девять записей (4 байт на каждый IPv4 адрес). Оставшиеся (40-4*9)=4 байта уходят на отметку о типе опции, длине и пр. атрибутах. Напомню, максимальный размер всего заголовка IPv4 – 60 байт.

Запускаем с ПК под управлением ОС Windows ping с опцией Record Route (-r) до адреса 192.168.36.2:

C:\Users\user>ping -n 1 -r 9 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=12мс TTL=252 Маршрут: 192.168.31.2 -> 192.168.32.2 -> 192.168.34.2 -> 192.168.35.2 -> 192.168.36.2 -> 192.168.35.1 -> 192.168.33.1 -> 192.168.31.1 -> 192.168.20.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 12мсек, Максимальное = 12 мсек, Среднее = 12 мсек


Пакeт ICMP Echo Request c выставленной опцией Record Route (Type = 7) в заголовке IP:

ICMP Echo Request доходит до получателя. По пути в него добавляются адреса транзитных устройств. Получатель берёт заполненные поля опции IP заголовка, копирует их в ICMP Echo Reply и отправляет назад. Пока ICMP Echo reply доберётся до инициатора пинга, он обрастёт записями обратного маршрута.

В ответном пакете ICMP Echo Reply, который получит ПК, опция Record Route будет уже заполнена:

Можно заметить, что в нашей сети имеет место ассиметричная маршрутизация.

Пример ping с опцией Record на сетевом оборудовании Cisco.

R1#ping Protocol : Target IP address: 192.168.36.2 Repeat count : 1 Datagram size : Timeout in seconds : Extended commands [n]: y Source address or interface: Type of service : Set DF bit in IP header? : Validate reply data? : Data pattern : Loose, Strict, Record, Timestamp, Verbose: R Number of hops [ 9 ]: Loose, Strict, Record, Timestamp, Verbose: Sweep range of sizes [n]: Type escape sequence to abort. Sending 1, 100-byte ICMP Echos to 192.168.36.2, timeout is 2 seconds: Packet sent with a source address of 192.168.20.1 Packet has IP options: Total option bytes= 39, padded length=40 Record route: <*> (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) (0.0.0.0) Reply to request 0 (3 ms). Received packet has options Total option bytes= 40, padded length=40 Record route: (192.168.31.2) (192.168.32.2) (192.168.34.2) (192.168.35.2) (192.168.36.2) (192.168.35.1) (192.168.33.1) (192.168.31.1) (192.168.31.2) <*> End of list Success rate is 100 percent (1/1), round-trip min/avg/max = 3/3/3 ms


Timestamp

Когда пакет ICMP с опцией Timestamp проходит через L3-устройство, оно записывает в него метку с указанием текущего времени. Схема работы аналогична опции Record, только вместо адреса ставится время. Как и в предыдущем случае пакет может содержать только девять записей о времени (для ОС Windows – четыре, так как кроме временной метки, добавляется IP-адрес устройства).

Время в пакете указано в формате UNIX time. Анализ данных имеет хоть какой-то смысл, если все устройства синхронизированы по времени (в нашем примере этого нет).

Пример ping с опцией Timestamp (-s) на ПК под управлением ОС Windows.

C:\Users\user>ping -n 1 -s 4 192.168.36.2 Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=4мс TTL=252 Отметка времени: 192.168.31.2: 43990397 -> 192.168.32.2: 43990389 -> 192.168.34.2: 2187294073 -> 192.168.35.2: 2190888543 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек


Strict (Strict Source Route)

При использовании данной опции задаётся список IP-адресов L3-устройств, через которые ICMP пакет обязательно должен пройти. Причём именно в той последовательности, которую мы указали. Записей, по традиции, максимум девять.

Работает опция просто: на каждом хопе IP-адрес назначения меняется на тот адрес, который мы указали при запуске утилиты ping.

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

В нашей схеме R2 имеет маршрут в сеть 192.168.36.0/24 через R3. Но так как у нас жёстко прописаны устройства в опциях ICMP пакета, R2 передаст его напрямую на R4.

Запускаем утилиту ping с опцией -k (Strict Source Route) в ОС Windows и прописываем адреса устройств.

C:\Users\user>ping –n 1 -k 192.168.20.1 192.168.31.1 192.168.33.1 192.168.35.1 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=5мс TTL=252 Маршрут: 192.168.35.1 -> 192.168.33.1 -> 192.168.31.1 -> 192.168.20.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 5мсек, Максимальное = 5 мсек, Среднее = 5 мсек


Пакeт ICMP Echo Request c выставленной опцией Strict Source Route (Type = 137) в заголовке IP на нашем ПК выглядит следующим образом:

ПК подставил 192.168.20.1 в качестве адреса получателя. Остальные адреса транзитных устройств благополучно запаковал в поля опции IP (записи Source Route). Адрес конечного устройства добавил в запись Destination.

Этот же пакет, после того, как он минует R1:

IP-адрес отправителя остался без изменений. IP-адрес получателя поменялся на новый – 192.168.31.1. Это значение взято из поля Source Route, когда пакет ICMP только поступил на R1.

Важно отметить, что R1 занёс в поле опций новую запись - Recorded Route. Туда подставлен IP-адрес интерфейса R1. Данное поле понадобится, чтобы ответный пакет (ICMP Echo reply) вернулся по тому же маршруту, что и ICMP Echo request. Точно также будут поступать и остальные устройства. Поэтому, когда пакет ICMP попадёт на R5, в опции Strict Source Route будет содержаться список IP-адресов интересов, через которые должен пройти ответный пакет.

ICMP Echo reply, полученный ПК:

Поле Recorded Route переписывается по мере прохождения пакета ICMP Echo reply, так как там всегда указан адрес исходящего интерфейса для текущего пакета. Поэтому R1, когда получит ICMP Echo reply, заменит 192.168.31.2 на 192.168.20.1.

Если в команде ping мы опустим один из адресов, например, последний (192.168.35.1 – R5), R4 должен будет отправить пакет сразу на устройство с адресом 192.168.36.2. Но так как эта сеть не является для него локальной, R4 отрапортует о том, что заданный узел недостижим. Маршрутизировать пакет по обычным правилам он не будет.

Для обработки опции Record на сетевом оборудовании должен быть включен режим source routing. Например, на оборудовании Cisco он включён по умолчанию.

Loose (Loose Source Route)

Данная опция по сути очень похожа на опцию Strict. Но, в отличии от Strict, в опции Loose задаётся не жёсткий маршрут движения ICMP пакета, а лишь выборочные устройства. Т.е. пакет может маршрутизироваться и другими устройствами. Максимальное количество адресов – девять.

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

Запускаем утилиту ping с опцией -j (Loose Source Route) в ОС Windows и прописываем адреса устройств.

C:\Users\user>ping -n 1 -j 192.168.32.1 192.168.36.2

Обмен пакетами с 192.168.36.2 по с 32 байтами данных: Ответ от 192.168.36.2: число байт=32 время=4мс TTL=250 Маршрут: 192.168.32.1 Статистика Ping для 192.168.36.2: Пакетов: отправлено = 1, получено = 1, потеряно = 0 (0% потерь) Приблизительное время приема-передачи в мс: Минимальное = 4мсек, Максимальное = 4 мсек, Среднее = 4 мсек


Пакeт ICMP Echo Request c выставленной опцией Loose Source Route (Type = 131) в заголовке IP на нашем ПК выглядит так:

ПК подставил адрес R3 (192.168.32.1) в качестве получателя. При этом адрес конечного устройства R5 (192.168.36.2) указал в опции IP (запись Destination). Далее пакет маршрутизируется в сети по обычным правилам, пока не попадёт на R3. R3 подставит в качестве адреса назначения адрес R5 и в опциях пропишет свой адрес, через который должен будет вернуться ответный пакет (запись Recorded Route). После чего отправит его в сеть.

Ответный пакет ICMP Echo reply особого интереса не представляет, так как аналогичен ранее рассмотренным. В опциях будет указан адрес исходящего интерфейса R3 (запись Recorded Route), через который прошел пакет.

Данная опция активируется автоматически при выборе любой из ранее описанных. Предоставляет более детальный вывод информации на экран. На сам пакет ICMP она никак не влияет. В Windows в команде ping такой опции нет.

Чтобы мы могли воспользоваться этими опциями, промежуточное оборудование должно их поддерживать. С этим проблем не будет. К новшествам мира ИТ относить весь этот «rocket science» не приходится. Напрашивается вывод: опции Loose, Strict, Record, Timestamp могут быть полезны, даже с учётом ограничения в «девять». Если бы не следующие нюансы, связанные с безопасностью.

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

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

Третье. Часть сетевого оборудования обрабатывает пакеты с установленными опциями программным образом на уровне control-plane (без использования различных схем оптимизации маршрутизации трафика), что безусловно нагружает ЦПУ. А значит есть возможность осуществить DoS атаку на такое устройство.

Многие вендоры (есть даже отдельное RFC 7126) рекомендуют пакеты с указанными опциями никак не обрабатывать. Варианты предлагают разные. Вплоть до отбрасывания таких пакетов. Правда у некоторых из производителей бывают диссонансы: с одной стороны рекомендуем отбрасывать такие пакеты, с другой - «Record is a very useful option».

Быстрая попытка проверить соответствие этим рекомендациям у пары интернет-провайдеров показали, что часть опций всё-таки работает. Но source routing отключён везде.

Получается интересный вывод. Опции Loose, Strict, Timestamp, Record могут быть полезны при диагностике проблем в сети. Но вопрос безопасности нивелирует это.

В итоге у меня всё-таки осталось чувство непонимания. Почему озвученный в начале вопрос присутствовал в тесте? Относительно полезна опция Record и то при небольшой глубине сети. Остальные опции под вопросом.

Напоследок небольшой опрос. Всем хорошего дня!

Только зарегистрированные пользователи могут участвовать в опросе. , пожалуйста.

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

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

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

Команда Ping определяет точное время ответа удаленного сервера, на который посылаются ICMP-пакеты. Применяют ее для диагностики проблемы доступности отдельных сегментов или же узлов. Но это вовсе не означает, что применять ее не может обычный пользователь.

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

Так, например, пользователям Windows достаточно запустить и ввести следующий текст: ping <имя хоста или его ip-адрес>, где в треугольных скобках указан тот узел, для которого вы собираетесь проверить ping. Для пользователей Unix-систем все вышеописанные действия достаточно исполнить в терминале.

Команда Ping наиболее часто используется с параметрами -t, -s, позволяет отслеживать действие команды неограниченное число раз (то есть ping не завершает свою работу по истечении отведенного стандартными настройками времени). Второй - изменить размер ICMP-пакета, который посылается некоторому компьютеру или серверу, ну а третий - изменить интервал между посылкой этих пакетов. Также можно использовать и другие параметры, про которые можно узнать, вызвав локальную справку по данной команде.

Вполне логично, что у простого пользователя может возникнуть вопрос: «А как интерпретировать результаты действия команды?». Отвечая на него, стоит заметить, что ping дает общее представление о скорости перемещения пакета по существующей сети. Если он проходит между узлами с определенным интервалом, без частых скачков, то это свидетельство корректности работы, ну а если уж пакеты приходят с сильной задержкой или вообще не доходят, то это означает, что в сети присутствуют некоторые проблемы, которые необходимо срочно решать администратору компьютерной системы.

С помощью команды PING отправки сообщений с эхо-запросом по протоколу ICMP проверяет соединение на уровне протокола IP с другим компьютером, поддерживающим TCP/IP. После каждой передачи выводится соответствующее сообщение с эхо-ответом. Ping — это основная TCP/IP-команда, используемая для устранения неполадки в соединении, проверки возможности доступа и разрешения имен. Команда ping , запущенная без параметров, выводит справку.

Синтаксис команды ping

ping[-t] [-a] [-n счетчик] [-l размер] [-f] [-i TTL] [-v тип] [-r счетчик] [-s счетчик] [{-jсписок_узлов | -kсписок_узлов}] [-w интервал] [-R] [-S адрес_источника] [-4] [-6] имя_конечного_компьютера

Параметры команды ping

Задает для команды ping отправку сообщений с эхо-запросом к точке назначения до тех пор, пока команда не будет прервана. Для прерывания команды и вывода статистики нажмите CTRL+BREAK. Для прерывания команды ping и выхода из нее нажмите клавиши CTRL+C.

-l размер

Задает длину (в байтах) поля данных в отправленных сообщениях с эхо-запросом. По умолчанию - 32 байта. Максимальный размер - 65527.

Задает разрешение обратного имени по IP-адресу назначения. В случае успешного выполнения выводится имя соответствующего узла

-n счетчик

Задает число отправляемых сообщений с эхо-запросом. По умолчанию - 4.

Задает отправку сообщений с эхо-запросом с флагом «Don’tFragment» в IP-заголовке, установленном на 1 (доступно только в IPv4). Сообщения с эхо-запросом не фрагментируются маршрутизаторами на пути к месту назначения. Этот параметр полезен для устранения проблем, возникающих с максимальным блоком данных для канала (MaximumTransmissionUnit).

Задает значение поля TTL в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию берется значение TTL, заданное по умолчанию для узла. Максимальное значение TTL равно 255.

-v тип

Задает значение поля типа службы (TOS) в IP-заголовке для отправляемых сообщений с эхо-запросом (доступно только в IPv4). По умолчанию это значение равно 0. тип - это десятичное значение от 0 до 255.

-r счетчик

Задает параметр записи маршрута (RecordRoute) в IP-заголовке для записи пути, по которому проходит сообщение с эхо-запросом и соответствующее ему сообщение с эхо-ответом (доступно только в IPv4). Каждый переход в пути использует параметр записи маршрута. По возможности значение счетчика задается равным или большим, чем количество переходов между источником и местом назначения. Параметр счетчик имеет значение от 1 до 9.

-s счетчик

Указывает вариант штампа времени Интернета (InternetTimestamp) в заголовке IP для записи времени прибытия сообщения с эхо-запросом и соответствующего ему сообщения с эхо-ответом для каждого перехода. Параметр счетчик имеет значение от 1 до 4. Это необходимо для целевых адресов с локальной ссылкой.

-jсписок_узлов

Указывает, что сообщения с эхо-запросом используют параметр свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов (доступно только в IPv4). При свободной маршрутизации последовательные промежуточные точки назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов - 9. Список узлов - это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.

-kсписок_узлов

Указывает, что сообщения с эхо-запросом используют параметр строгой маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов (доступно только в IPv4). При строгой маршрутизации следующая промежуточная точка назначения должна быть доступной напрямую (она должна быть соседней в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов равно 9. Список узлов - это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.

-w интервал

Определяет в миллисекундах время ожидания получения сообщения с эхо-ответом, которое соответствует сообщению с эхо-запросом. Если сообщение с эхо-ответом не получено в пределах заданного интервала, то выдается сообщение об ошибке «Requesttimedout». Интервал по умолчанию равен 4000 (4 секунды).

Задает отслеживание пути приема-передачи (RoundTrip) (доступно только в IPv6).

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

Указывает используемый адрес источника (доступно только в IPv6).

Задает использование для проверки связи протокола IPv4. Этот параметр не требуется для идентификации конечного узла с адресом IPv4. Он требуется только для идентификации конечного узла по имени.

Задает использование протокола IPv6 для проверки связи. Этот параметр не требуется для идентификации конечного узла с адресом IPv6. Он требуется только для идентификации конечного узла по имени.

имя_конечного_компьютера

Задает имя узла или IP-адрес назначения.

Отображает справку в командной строке.

Примечания

Команда ping позволяет проверить имя и IP-адрес компьютера. Если проверка IP-адреса успешная, и проверка имени - нет, то имеет место проблема разрешения имен. В этом случае с помощью запросов DNS (DomainNameSystem) или с помощью методов разрешения имен NetBIOS проверьте, чтобы имя задаваемого компьютера было разрешено в локальном файле Hosts.

Эта команда доступна только в том случае, если в свойствах сетевого адаптера в объекте «Сетевые подключения» в качестве компонента установлен протокол Интернета (TCP/IP).

Примеры использования команды ping

Следующий пример показывает результаты работы команды ping:

C:\>ping example.microsoft.com

Pinging example.microsoft.com with 32 bytes of data:

Reply from (Ответот) 192.168.239.132: bytes=32 time=101ms TTL=124

Reply from (Ответот) 192.168.239.132: bytes=32 time=100ms TTL=124

Reply from (Ответот) 192.168.239.132: bytes=32 time=120ms TTL=124

*** В случае если при пинге выдаётся сообщение Packetfiltered, то это означает что скорее всего заблокировано подключение к инету за неуплату/спам/резервирование канала

Для отправки сообщения точке назначения 10.0.99.221 и сопоставления с ее узловым именем введите:

ping -a 10.0.99.221 — Для отправки точке назначения 10.0.99.221 десяти собщений с эхо-запросом, каждое из которых имеет поле данных из 1000 байт, введите:

ping -n 10 -l 1000 10.0.99.221 — Для отправки сообщения точке назначения 10.0.99.221 и записи маршрута для 4 переходов введите.