Непрерывный пинг – Как сделать пинг без остановки в командной строке

Содержание

Как сделать пинг без остановки в командной строке

Приветствую!

Если вы уже ранее пользовались командой ping в окне командной строки, то должно быть заметили, что при вводе команды и нажатия клавиши Enter, производится всего лишь 4 пинг-запроса.

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

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

Видя в реальном времени доступность ресурса, его время отклика, можно вполне определить и «качество» собственного интернет соединения.

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

С типовыми ситуациями, при которых может понадобиться постоянная отправка ping, мы более-менее разобрались. Хотя, стоит отметить, что приведённые выше примеры являются далеко не исчерпывающими. Но этот материал и не ориентирован на перечисление всех возможных задач, при которых может понадобиться постоянное пингование того или иного ресурса, хоста, IP адреса и т.д.

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

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

  1. Первым делом нам надо осуществить открытие окна командной строки. Вы наверняка уже знаете, как это можно сделать. Если же нет, то материал «Как отрыть командную строку в Windows (XP, 7, 8, 10) – обзор способов» вам в этом поможет.
  2. Последующий шаг будет направлен на ввод команды, которая позволит нам пинговать желаемый ресурс не 4 раза, а до момента, пока не будет закрыто окно командной строки. Вот данная команда:

    Введя её, нажмите Enter.

    В качестве сайта указан наш ресурс. Не забудьте заменить его на тот, что требуется пинговать в вашем случае.

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

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

it-actual.ru

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

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



Пример 1. Изменение интервала времени между отправкой пакетов

По умолчанию пакеты посылаются с промежутком в одну секунду. Вы можете изменить это интервал с помощью опции -i.

Увеличение интервала

Пример: Ждем 5 секунд перед отправкой следующего пакета.

$ ping -i 5 IP
Уменьшаем интервал

Пример: Ждем 0.1 секунду перед отправкой следующего пакета.

# ping -i 0.1 IP

Заметка: Только суперпользователь может указывать интервал меньше 0.2 секунды. В противном случае вы увидите такое сообщение.

$ ping -i 0.1 127.0.0.1  
PING 0 (127.0.0.1) 56(84) bytes of data.  
ping: cannot flood; minimal interval, allowed for user, is 200ms

Пример 2. Проверка локального интерфейса

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

Пингуем ноль (0)

Это самый простой и быстрый способ:

$ ping 0  
PING 0 (127.0.0.1) 56(84) bytes of data.  
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.024 ms  
^C
Пингуем по имени
$ ping localhost  
PING localhost (127.0.0.1) 56(84) bytes of data.  
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.051 ms  
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.055 ms  
^C  
--- localhost ping statistics ---  
2 packets transmitted, 2 received, 0% packet loss, time 999ms  
rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms
Пингуем по IP
$ ping 127.0.0.1
2 packets transmitted, 2 received, <strong>0% packet loss,</strong> time 999ms  rtt min/avg/max/mdev = 0.051/0.053/0.055/0.002 ms

Не должно быть никаких потерь пакетов.

Пример 3. Послать N пакетов и завершить работу

Для автоматического завершения пинга после отправки указанного вами числа пакетов исползуется опция -c.

В следующем примере мы отправим 5 пакетов.

$ ping -c 5 google.com  
PING google.com (74.125.45.100) 56(84) bytes of data.  
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=1 ttl=44 time=731 ms  
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=2 ttl=44 time=777 ms  
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=3 ttl=44 time=838 ms  
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=4 ttl=44 time=976 ms  
64 bytes from yx-in-f100.google.com (74.125.45.100): icmp_seq=5 ttl=44 time=1071 ms    
--- google.com ping statistics ---  
5 packets transmitted, 5 received, 0% packet loss, time 4216ms  
rtt min/avg/max/mdev = 731.039/879.129/1071.050/126.625 ms

Пример 4. Версия команды ping

С помощью опции -V мы можем посмотреть текущую версию команды.

$ ping -V  
ping utility, iputils-sss20071127

Пример 5. Флуд в сети

Суперпользователь может послать тысячи и более пакетов в короткие сроки с помощью опции -f.

Как показано ниже, ping -f послал более чем 400,000 пакетов за несколько секунд.

# ping -f localhost  
PING localhost (127.0.0.1) 56(84) bytes of data.  
.^C 
 --- localhost ping statistics ---  <strong>
427412 packets transmitted</strong>, 427412 received, 0% packet loss, time 10941ms  
rtt min/avg/max/mdev = 0.003/0.004/1.004/0.002 ms, ipg/ewma 0.025/0.004 ms

Пример 6. Звуковой сигнал

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

$ ping -a IP

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

С помощью опции -q можно пропустить ответы удаленного хоста и вывести сразу полученную статистику.

$ ping -c 5 -q 127.0.0.1  
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.    
--- 127.0.0.1 ping statistics ---  
5 packets transmitted, 5 received, 0% packet loss, time 3998ms  
rtt min/avg/max/mdev = 0.047/0.053/0.061/0.009 ms

Пример 8. Изменение размера пакета

Вы можете изменить размер посылаемого пакета используя опцию -s.

Пример: Изменим размер пакета с 56 до 100.

$ ping -s 100 localhost  
PING localhost (127.0.0.1) 100(128) bytes of data.  
108 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms  
108 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.021 ms  
108 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.020 ms  
^C  
--- localhost ping statistics ---  
3 packets transmitted, 3 received, 0% packet loss, time 1998ms  
rtt min/avg/max/mdev = 0.020/0.021/0.022/0.000 ms

Пример 9. Длительность выполнения команды

С помощью опции -w мы можем указать время выполнения команды в секундах.

В следующем примере мы будем пинговать локалхост в течение 5-ти секунд.

$ ping -w 5 localhost

Заметка: В случае одновременного использования опций -w и -c завершение работы утилиты наступит в момент срабатывания первого ограничения.

Пример 10. Краткая статистика с SIGQUIT

Не прерывая команду пинг, можно посмотреть статистику выполнения. Для этого нужна нажать CTRL + | 

$ ping -w 100 localhost  
PING localhost (127.0.0.1) 56(84) bytes of data.  
64 bytes from localhost (127.0.0.1): icmp_seq=10 ttl=64 time=0.021 ms  
64 bytes from localhost (127.0.0.1): icmp_seq=11 ttl=64 time=0.022 ms  
<strong>11/11 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms  </strong>
64 bytes from localhost (127.0.0.1): icmp_seq=12 ttl=64 time=0.021 ms  
64 bytes from localhost (127.0.0.1): icmp_seq=13 ttl=64 time=0.022 ms  
64 bytes from localhost (127.0.0.1): icmp_seq=14 ttl=64 time=0.021 ms  
64 bytes from localhost (127.0.0.1): icmp_seq=15 ttl=64 time=0.021 ms  <strong>
19/19 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.024 ms  </strong>
64 bytes from localhost (127.0.0.1): icmp_seq=31 ttl=64 time=0.022 ms  
64 bytes from localhost (127.0.0.1): icmp_seq=32 ttl=64 time=0.022 ms  <strong>
32/32 packets, 0% loss, min/avg/ewma/max = 0.020/0.022/0.022/0.027 ms  </strong>
64 bytes from localhost (127.0.0.1): icmp_seq=33 ttl=64 time=0.023 ms  ..

 

 

Полезные ссылки

Лучшая посуда от мировых брендов в интернет магазине: BergHOFF, Luminarc, Vitesse

Еще записи по теме

guruadmin.ru

PING — сетевая диагностика на IP-уровне

Команда PING это, пожалуй, самая используемая сетевая утилита командной строки. PING присутствует во всех версиях всех операционных систем с поддержкой сети и является простым и удобным средством опроса узла по имени или его IP-адресу.

Для обмена служебной и диагностической информацией в сети используется специальный протокол управляющих сообщений ICMP (Internet Control Message Protocol). Команда ping позволяет выполнить отправку управляющего сообщения типа Echo Request (тип равен 8 и указывается в заголовке ICMP-сообщения) адресуемому узлу и интерпретировать полученный от него ответ в удобном для анализа виде. В поле данных отправляемого icmp-пакета обычно содержатся символы английского алфавита. В ответ на такой запрос, опрашиваемый узел дожжен отправить icmp-пакет с теми же данными, которые были приняты, и типом сообщения Echo Reply (код типа в ICMP-заголовке равен 0) . Если при обмене icmp-сообщениями возникает какая-либо проблема, то утилита ping выведет информацию для ее диагностики.

Формат командной строки:

ping [-t] [-a] [-n число] [-l размер] [-f] [-i TTL] [-v TOS] [-r число] [-s число] [[-j списокУзлов] | [-k списокУзлов]] [-w таймаут] конечноеИмя

Параметры:

-t - Непрерывная отправка пакетов. Для завершения и вывода статистики используются комбинации клавиш Ctrl + Break (вывод статистики и продолжение), и Ctrl + C (вывод статистики и завершение).
-a - Определение адресов по именам узлов.
-n число - Число отправляемых эхо-запросов.
-l размер - Размер поля данных в байтах отправляемого запроса.
-f - Установка флага, запрещающего фрагментацию пакета.
-i TTL - Задание срока жизни пакета (поле "Time To Live").
-v TOS - Задание типа службы (поле "Type Of Service").
-r число - Запись маршрута для указанного числа переходов.
-s число - Штамп времени для указанного числа переходов.
-j списокУзлов - Свободный выбор маршрута по списку узлов.
-k списокУзлов - Жесткий выбор маршрута по списку узлов.
-w таймаут - Максимальное время ожидания каждого ответа в миллисекундах.

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

ping google.com - эхо-запрос к узлу с именем google.com с параметрами по умолчанию - количество пакетов равно 4, длина массива данных = 32 байта.

ping -6 ya.ru - пинг узла ya.ru с использованием протокола Ipv6

ping -a 192.168.1.50 - выполнить пинг с определением имени конесного узла по его адресу.

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

ping w 5000 ya.ru - пинг с таймаутом ожидания равным 5 секунд ( по умолчанию — 4 сек).

ping -n 5000 -l 1000 ab57.ru - опрос узла ab57.ru 5000 раз, пакетами с данными длиной в 1000байт. Допустимая максимальная длина данных — 65500.

ping -n 1 -l 3000 -f ya.ru - пинг с запретом фрагментации пакета.

ping -n 1-r 3 ya.ru - отправить 1 эхо-запрос на узел ya.ru с отображением первых 3-х переходов по маршруту.

ping -i 5 ya.ru - пинг с указанием времени жизни TTL=5. Если для достижения конечного узла потребуется большее количество переходов по маршруту, то маршрутизатор, прервавший доставку ответит сообщением ”Превышен срок жизни (TTL) при передаче пакета.”

  • Применение PING для пошаговой диагностики проблем доступа в Интернет:
  • Обобщенная схема соединения компьютера (планшета, ноутбука домашней сети) с удаленным конечным узлом можно представить следующим образом:

    В качестве домашней сети используется наиболее распространенная сеть с IP-адресами 192.168.1.0 /255.255.255.0 . Речь идет об IPv4 – IP протоколе версии 4, где для адресации используется 4 байта. IP- адреса принято представлять в виде десятичных значений байтов, разделяемых точками. Каждое устройство в сети должно иметь свой уникальный адрес. Кроме адреса, в сетевых настройках используется маска сети ( маска подсети). Маска имеет такой же формат представления, как и адрес. Комбинация адреса и маски определяет диапазон адресов, которые принадлежат локальной сети - 192.168.1.0-192.168.1.255. Первый и последний адреса диапазона не назначаются отдельным сетевым устройствам, поскольку используются в качестве адреса сети и широковещательного адреса. Обычно адрес роутера делают равным 192.168.1.1 или 192.168.1.254. Это не является обязательным стандартом, но на практике используется довольно часто. Единичные биты маски определяют постоянную часть IP-адреса сети, а нулевые — выделяемые отдельным узлам. Значение

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

    Команда PING можно использовать для диагностики отдельных узлов:

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

    ping свой IP или имя - пинг на собственный адрес или имя. Должен завершаться без ошибок, если установлены все программные средства протокола IP и исправен сетевой адаптер.

    ping IP-адрес роутера - должен выполняться, если исправна сетевая карта компьютера, исправен кабель или беспроводное соединение, используемые для подключения к роутеру и исправен сам роутер. Кроме того, настройки IP должны быть такими, чтобы адрес компьютера и роутера принадлежали одной подсети. Обычно это так, когда сетевые настройки выполняются автоматически средствами DHCP-сервера маршрутизатора.

    ping yandex.ru - выполнить опрос узла с именем yandex.ru. Если опрос завершается с ошибкой, то причиной может быть не только отсутствие связи с маршрутизатором провайдера, но и невозможность определения адреса узла

    yandex.ru из-за проблем с программными средствами разрешения имен.

    ping 8.8.8.8 - выполнить опрос узла с IP-адресом 8.8.8.8 . Если опрос по адресу выполняется без ошибок, а опрос по имени завершается сообщением о неизвестном узле, то проблема в разрешении имен. Причиной может быть неработоспособность DNS-сервера провайдера. В этом случае, можно попробовать сменить его в настройках сетевого соединения на публичные DNS сервера Google с адресами 8.8.4.4 и 8.8.8.8. Также, проблема может быть вызвана плохим качеством связи с провайдером, что сопровождается слишком большим временем отклика и пропаданием пакетов.

    ping -t yandex.ru - выполнять ping до нажатия комбинации CTRL+C, При нажатии CTRL+Break - выдается статистика и опрос узла продолжается.

    ping -n 1000 -l 500 192.168.1.1 - выполнить ping 1000 раз с использованием сообщений, длиной 500 байт. Пинг пакетами стандартной длины в 32 байта может выполняться без ошибок, а на длинных — с ошибками, что характерно для беспроводных соединения при низком уровне сигнала в условиях интенсивных помех.

    ping -n 1 -r 9 -w 1000 yandex.ru - выполнить ping 1 раз (ключ -n 1), выдавать маршрут для первых 9 переходов (-r 9), ожидать ответ 1 секунду (1000мсек)

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

    Обмен пакетами с yandex.ru [87.250.251.11] с 32 байтами данных:
    Ответ от 87.250.251.11: число байт=32 время=36мс TTL=54
    Маршрут: 81.56.118.62 ->
    81.56.112.1 ->
    10.109.11.9 ->
    10.109.11.10 ->
    195.34.59.105 ->
    195.34.52.213 ->
    195.34.49.121 ->
    195.34.52.213 ->
    87.250.239.23

    Статистика Ping для 87.250.251.11:

    Пакетов: отправлено = 1, получено = 1, потеряно = 0
    (0% потерь)
    Приблизительное время приема-передачи в мс:
    Минимальное = 36мсек, Максимальное = 36 мсек, Среднее = 36 мсек

    В данном примере, между отправителе и получателем пакетов выстраивается цепочка из 9 маршрутизаторов. Нужно учитывать тот факт, что в версии утилиты

    ping.exe для Windows, число переходов может принимать значение от 1 до 9. В случаях, когда этого значения недостаточно, используется команда tracert

    Отсутствие эхо-ответа не всегда является признаком неисправности, поскольку иногда по соображениям безопасности, некоторые узлы настраиваются на игнорирование эхо-запросов, посылаемых PING. Примером может служить узел microsoft.com и некоторые маршрутизаторы в сетях небольших провайдеров.

    Использование PING в командных файлах.

    Нередко, команда PING используется для организации задержек в командных файлах. Выполняется пингование петлевого интерфейса с указанием нужного значения счетчика пакетов, задаваемого параметром -n. Посылка эхо-запросов выполняется с интервалом в 1 секунду, а ответ на петлевом интерфейсе приходит практически мгновенно, поэтому задержка будет приблизительно равна счетчику минус единица:

    ping -n 11 127.0.0.1 - задержка в 10 секунд.

    Команда PING используется в командных файлах для определения доступности IP-адресов. Поскольку, результат опроса никак не отражается в переменной ERRORLEVEL , то вместо ее анализа используется поиск определенных признаков в данных стандартного вывода PING. Если внимательно посмотреть на сообщения программы ping.exe при опросе доступного и недоступного узла, то можно заметить, что они значительно отличаются

    ping 456.0.0.1 - ping на несуществующий адрес

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

    При проверке связи не удалось обнаружить узел 456.0.0.1. Проверьте имя узла и повторите попытку.

    ping yandex.ru - ping на адрес узла yandex.ru

    Ответ на ping доступного узла:

    Обмен пакетами с yandex.ru [87.250.250.11] по 32 байт:
    Ответ от 87.250.250.11: число байт=32 время=10мс TTL=55

    Таким образом, для решения задачи определения доступности узла в командном файле, достаточно проанализировать характерные слова в выводе ping.exe при успешном ответе. Наиболее характерно в данном случае наличие слова TTL. Оно никогда не встречается при возникновении ошибки и состоит всего лишь из символов английского алфавита. Для поиска "TTL" в результатах ping.exe удобнее всего объединить ее выполнение в цепочку с командой поиска строки символов FIND.EXE (конвейер ping и find). Если текст найден командой FIND, то значение переменной ERRORLEVEL будет равно 0

    ping -n 1 COMPUTER | find /I "TTL" > nul
    if %ERRORLEVEL%==0 goto LIVE
    ECHO computer недоступен
    подпрограмма обработки недоступного состояния
    ...
    Exit
    :LIVE - начало подпрограммы обработки состояния доступности узла
    ...
    ...

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

    PING yandex.ru |find "TTL=" && ECHO Yandex pingable - команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND равно 0, т.е узел yandex.ru отвечает на ping.

    PING Server64 |find "TTL=" || ECHO Server64 not pingable - команда ECHO выполняется, если значение ERRORLEVEL, установленное FIND не равно 0, т.е. узел Server64 не ответил на ping.

    Весь список команд CMD Windows

    ab57.ru

    Как использовать команду Ping для проверки сети

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

    Как работает Ping

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

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

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

    Как использовать Ping

    Мы собираемся использовать командную строку Windows в нашем примере здесь. Но Dы также можете использовать команду ping в Windows PowerShell или в приложении Terminal на macOS или любом дистрибутиве Linux. Как только Dы доберетесь до фактической команды, она работает одинаково везде.

    В Windows нажмите Windows + R. В окне «Запуск» введите «cmd» в поле поиска и нажмите «Enter».

    В командной строке введите «ping» вместе с URL-адресом или IP-адресом, который Вы хотите проверить, и нажмите «Enter». На изображении ниже мы пинговали guidepc.ru и получили нормальный ответ.

    Этот ответ показывает URL-адрес, который Вы просматриваете, IP-адрес, связанный с этим URL-адресом, и размер пакетов, отправляемых в первой строке. Следующие четыре строки показывают ответы от каждого отдельного пакета, включая время (в миллисекундах), которое требуется для ответа, и время жизни (TTL) пакета, которое представляет собой количество времени, которое должно пройти до сброса пакета.

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

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

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

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

    Если Вам это интересно, просто введите «ping /?» В командной строке, чтобы увидеть список параметров.

    Что Вы можете сделать с помощью Ping

    Теперь, когда Вы знаете, как использовать эту команду, вот некоторые интересные вещи, которые Вы можете сделать с ней:

    • Ping URL (например, guidepc.ru) или IP-адрес, чтобы узнать, можете ли Вы добраться до интернет-адресата. Если Вы получите успешный ответ, Вы знаете, что все сетевые устройства между Вами и этим получателем работают, включая сетевой адаптер на Вашем компьютере, Ваш маршрутизатор и любые устройства в Интернете между Вашим маршрутизатором и пунктом назначения. И если Вы заинтересованы в дальнейшем изучении этих маршрутов, Вы можете использовать другой сетевой инструмент с именем tracert, чтобы сделать это.
    • Ping URL-адреса, чтобы увидеть его IP-адрес. Если Вы хотите узнать IP-адрес для определенного URL-адреса, Вы можете отправить URL-адрес. Инструмент ping показывает Вам вверху IP-адрес, с которым он работает.
    • Ping Вашего маршрутизатора, чтобы увидеть, можете ли Вы достичь его. Если Вы не можете успешно выполнить ping интернет адреса, Вы можете попробовать выполнить ping-соединение с Вашим маршрутизатором. Успешный ответ позволяет узнать, что Ваша локальная сеть работает нормально, и проблема, связанная с доступом к интернет-сайту, находится где-то вне Вашего контроля.
    • Ping Вашего loopback-адреса (127.0.0.1). Если Вы не можете успешно выполнить ping роутера, но Ваш маршрутизатор, похоже, включен и работает, Вы можете попробовать ping так называемый loopback адреса. Этот адрес всегда 127.0.0.1, и его успешное тестирование позволяет узнать, что сетевой адаптер на Вашем компьютере (и сетевое программное обеспечение в Вашей ОС) работает правильно.

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

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

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

    guidepc.ru

    утилита для проверки соединений в сетях TCP/IP

    PING - утилита для проверки соединений в сетях TCP/IP

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

    Ping пожалуй самая основная TCP/IP-команда среди пользователей Windows, используемая для устранения неполадок и проверки возможности доступа к Интернет.

    Команда Ping, запущенная без параметров, выводит справку. Одинаково результативно работает на всех версиях Windows, включая и Windows 10.

    Для проверки сети также можно воспользоваться командами:

    • TRACERT -  определяет путь до точки назначения с помощью посылки эхо-сообщений;
    • PATHPING - предоставляет информацию о потерях данных на промежуточных узлах.

    Синтаксис параметры важные ключи команды 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

    • Для отображения справки в командной строке по команде введите: ping /?;
    • Для выполнения проверки соединения адреса ya.ru до прекращения вручную введите: ping ya.ru -t;
    • Для отправки сообщения с эхо-запросом по протоколу ICMP точке назначения 192.168.1.1 и сопоставления с ее узловым именем введите: ping -a 192.168.1.1;
    • Для отправки сообщения с эхо-запросом на адрес 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


    cmd4win.ru

    Ping и некоторые его параметры / CBS corporate blog / Habr


    «Для чего в команде 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 [ip]: 
    Target IP address: 192.168.36.2
    Repeat count [5]: 1
    Datagram size [100]: 
    Timeout in seconds [2]: 
    Extended commands [n]: y
    Source address or interface:
    Type of service [0]: 
    Set DF bit in IP header? [no]: 
    Validate reply data? [no]: 
    Data pattern [0xABCD]: 
    Loose, Strict, Record, Timestamp, Verbose[none]: R
    Number of hops [ 9 ]: 
    Loose, Strict, Record, Timestamp, Verbose[RV]: 
    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), через который прошел пакет.

    Verbose

    Данная опция активируется автоматически при выборе любой из ранее описанных. Предоставляет более детальный вывод информации на экран. На сам пакет 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 и то при небольшой глубине сети. Остальные опции под вопросом.

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

    habr.com

    Знакомимся с командой Ping | Новичку

    6.9K

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

    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 -n 5 -l 1500 www.google.com

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

    Pinging www.google.com [74.125.224.82] 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.

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

    Pinging J3RTY22 [192.168.1.22] 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, после чего осуществила проверку состояния при стандартных настройках.

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

    Pinging SERVER [fe80::fd1a:3327:2937:7df3%10] 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 поддерживается в командной строке ОС Windows 10, Windows 8, Windows 7, Windows Vista и Windows XP, а также Windows 98 и 95.

    Её также можно использовать в дополнительных настройках автозагрузки и опциях восстановления системы.

    Команда ping часто используется как дополнение к другим командам (tracert, ipconfig, netstat, nslookup и другие).

    Данная публикация представляет собой перевод статьи «Ping Command?» , подготовленной дружной командой проекта Интернет-технологии.ру

    www.internet-technologies.ru

    Отправить ответ

    avatar
      Подписаться  
    Уведомление о