Команда PING — отправить эхо-запрос по протоколу ICMP на имя или 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.
ping ping
Область применения: Windows Server (половина ежегодного канала), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 Applies to: Windows Server (Semi-Annual Channel), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Проверяет подключение на уровне IP к другому компьютеру TCP/IP, отправляя сообщения эхо-запросов протокола ICMP. Verifies IP-level connectivity to another TCP/IP computer by sending Internet Control Message Protocol (ICMP) echo Request messages. Отображаются сообщения о получении соответствующих эхо-ответов, а также время кругового пути. The receipt of corresponding echo Reply messages are displayed, along with round-trip times. Ping — это основная команда TCP/IP, используемая для устранения неполадок подключения, доступности и разрешения имен. ping is the primary TCP/IP command used to troubleshoot connectivity, reachability, and name resolution. При использовании без параметров эта команда отображает содержимое справки. Used without parameters, this command displays Help content.
Эту команду также можно использовать для проверки имени компьютера и IP-адреса компьютера. You can also use this command to test both the computer name and the IP address of the computer. Если проверка связи с IP-адресом выполнена успешно, но проверка связи с именем компьютера не выполняется, может возникнуть проблема разрешения имен. If pinging the IP address is successful, but pinging the computer name isn’t, you might have a name resolution problem. В этом случае убедитесь, что указываемое имя компьютера можно разрешить через локальный файл hosts с помощью запросов службы доменных имен (DNS) или методов разрешения имен NetBIOS. In this case, make sure the computer name you are specifying can be resolved through the local Hosts file, by using Domain Name System (DNS) queries, or through NetBIOS name resolution techniques.
Эта команда доступна, только если протокол Интернета (TCP/IP) установлен в качестве компонента в свойствах сетевого адаптера в окне Сетевые подключения. This command is available only if the Internet Protocol (TCP/IP) is installed as a component in the properties of a network adapter in Network Connections.
Синтаксис Syntax
Параметры Parameters
Параметр Parameter | Описание Description |
---|---|
/t /t | Указывает, что команда ping Continue отправляет сообщения эхо-запросов в место назначения, пока не будет прервано. Specifies ping continue sending echo Request messages to the destination until interrupted. Чтобы прервать и отобразить статистику, нажмите клавиши CTRL + ВВОД. To interrupt and display statistics, press CTRL+ENTER. Чтобы прервать выполнение и выйти из этой команды, нажмите клавиши CTRL + C. To interrupt and quit this command, press CTRL+C. |
/a /a | Указывает, что разрешение имен должно выполняться на целевом IP-адресе. Specifies reverse name resolution be performed on the destination IP address. В случае успешного выполнения команды Ping отображает соответствующее имя узла. If this is successful, ping displays the corresponding host name. |
параметра /n | Указывает число сообщений запроса эха, которые будут отправлены. Specifies the number of echo Request messages be sent. Значение по умолчанию — 4. The default is 4. |
/l /l | Задает длину (в байтах) поля данных в сообщениях запроса эха. Specifies the length, in bytes, of the Data field in the echo Request messages. Значение по умолчанию — 32. The default is 32. Максимальный размер — 65 527. The maximum size is 65,527. |
/f /f | Указывает, что сообщения эхо-запросов отправляются с флагом «не фрагментировать » в заголовке IP, установленном в значение 1 (доступно только в IPv4). Specifies that echo Request messages are sent with the Do not Fragment flag in the IP header set to 1 (available on IPv4 only). Сообщения эхо-запроса не могут быть фрагментированы маршрутизаторами по пути к назначению. The echo Request message can’t be fragmented by routers in the path to the destination. Этот параметр полезен для устранения неполадок с максимальным количеством блоков передачи (PMTU). This parameter is useful for troubleshooting path Maximum Transmission Unit (PMTU) problems. |
/I /I | Задает значение поля срока жизни (TTL) в заголовке IP для отправленных сообщений эхо-запросов. Specifies the value of the Time To Live (TTL) field in the IP header for echo Request messages sent. По умолчанию используется значение TTL по умолчанию для узла. The default is the default TTL value for the host. Максимальный срок жизни — 255. The maximum TTL is 255. |
/v /v | Указывает значение поля типа службы (TOS) в IP-заголовке для отправленных сообщений запроса эха (доступно только в IPv4). Specifies the value of the Type Of Service (TOS) field in the IP header for echo Request messages sent (available on IPv4 only). Значение по умолчанию — 0. The default is 0. TOS задаются в виде десятичного значения от 0 до 255. TOS is specified as a decimal value from 0 through 255. |
/r /r | Указывает параметр записи маршрута в заголовке IP-адреса, который используется для записи пути, полученного сообщением запроса эха, и соответствующего сообщения о эхо-ответе (доступно только в IPv4). Specifies the Record Route option in the IP header is used to record the path taken by the echo Request message and corresponding echo Reply message (available on IPv4 only). Каждый прыжок в пути использует запись в параметре запись маршрута . Each hop in the path uses an entry in the Record Route option. Если это возможно, укажите значение счетчика , равное или больше, чем число прыжков между источником и назначением. If possible, specify a count equal to or greater than the number of hops between the source and destination. Число должно быть не меньше 1 и не больше 9. The count must be a minimum of 1 and a maximum of 9. |
ключ /s | Указывает, что параметр отметка времени Интернета в заголовке IP используется для записи времени прибытия сообщения эхо-запроса и соответствующего сообщения эхо-ответа для каждого прыжка. Specifies that the Internet timestamp option in the IP header is used to record the time of arrival for the echo Request message and corresponding echo Reply message for each hop. Число должно быть не меньше 1 и не больше 4. The count must be a minimum of 1 and a maximum of 4. Это необходимо для адресов назначения, находящейся в локальной связи. This is required for link-local destination addresses. |
/j /j | Указывает, что сообщения эхо-запроса используют параметр свободного исходного маршрута в заголовке IP с набором промежуточных назначений, указанных в hostlist (только в IPv4). Specifies the echo Request messages use the Loose Source Route option in the IP header with the set of intermediate destinations specified in hostlist (available on IPv4 only). При свободной маршрутизации последовательные промежуточные назначения могут быть разделены одним или несколькими маршрутизаторами. With loose source routing, successive intermediate destinations can be separated by one or multiple routers. Максимальное число адресов или имен в списке узлов равно 9. The maximum number of addresses or names in the host list is 9. Список узлов представляет собой набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. The host list is a series of IP addresses (in dotted decimal notation) separated by spaces. |
/k /k | Указывает, что сообщения эхо-запроса используют в заголовке IP параметр с максимальным исходным маршрутом с набором промежуточных назначений, указанных в hostlist (доступно только в IPv4). Specifies the echo Request messages use the Strict Source Route option in the IP header with the set of intermediate destinations specified in hostlist (available on IPv4 only). При использовании явной исходной маршрутизации следующее промежуточное назначение должно быть напрямую достижимо (оно должно быть соседом в интерфейсе маршрутизатора). With strict source routing, the next intermediate destination must be directly reachable (it must be a neighbor on an interface of the router). Максимальное число адресов или имен в списке узлов равно 9. The maximum number of addresses or names in the host list is 9. Список узлов представляет собой набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. The host list is a series of IP addresses (in dotted decimal notation) separated by spaces. |
/w /w | Указывает время ожидания сообщения эхо-ответа, соответствующего заданному сообщению запроса эха, в миллисекундах. Specifies the amount of time, in milliseconds, to wait for the echo Reply message corresponding to a given echo Request message. Если ответное сообщение не получено в течение времени ожидания, отображается сообщение об ошибке «запрос был превышен). If the echo Reply message is not received within the time-out, the «Request timed out» error message is displayed. Время ожидания по умолчанию — 4000 (4 секунды). The default time-out is 4000 (4 seconds). |
/R /R | Указывает путь к пути приема-передачи, который отслеживается (доступно только в IPv6). Specifies the round-trip path is traced (available on IPv6 only). |
Ключ /S | Указывает используемый исходный адрес (доступен только в IPv6). Specifies the source address to use (available on IPv6 only). |
/4 /4 | Указывает IPv4, используемый для проверки связи. Specifies IPv4 used to ping. Этот параметр не требуется для определения целевого узла с IPv4-адресом. This parameter is not required to identify the target host with an IPv4 address. Необходимо только указать целевой узел по имени. It is only required to identify the target host by name. |
/6 /6 | Указывает IPv6, используемый для проверки связи. Specifies IPv6 used to ping. Этот параметр не требуется для определения целевого узла с IPv6-адресом. This parameter is not required to identify the target host with an IPv6 address. Необходимо только указать целевой узел по имени. It is only required to identify the target host by name. |
Указывает имя узла или IP-адрес назначения. Specifies the host name or IP address of the destination. | |
/? /? | Отображение справки в командной строке. Displays help at the command prompt. |
Пример выходных данных команды ping Example of the ping command output
Примеры Examples
Чтобы проверить связь с целевым 10.0.99.221 и разрешить 10.0.99.221 в его имя узла, введите: To ping the destination 10.0.99.221 and resolve 10.0.99.221 to its host name, type:
Чтобы проверить связь с 10.0.99.221 назначения с 10 сообщениями эхо-запроса, каждый из которых имеет поле данных 1000 байт, введите: To ping the destination 10.0.99.221 with 10 echo Request messages, each of which has a Data field of 1000 bytes, type:
Чтобы проверить связь с назначением 10.0.99.221 и записать маршрут для 4 прыжков, введите: To ping the destination 10.0.99.221 and record the route for 4 hops, type:
Чтобы проверить связь с целевым 10.0.99.221 и указать свободный исходный маршрут 10.12.0.1-10.29.3.1-10.1.44.1, введите: To ping the destination 10.0.99.221 and specify the loose source route of 10.12.0.1-10.29.3.1-10.1.44.1, type: