Как остановить команду ping в windows

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

Привет, посетитель сайта ZametkiNaPolyah.ru! Эта запись будет про простую, но очень полезную стандартную сетевую утилиту ping и о том, как ею пользоваться из командной строки Windows. Возможности команды ping скромны, но ее можно быстро проверить доступность удаленного ресурса или сервера, оценить потери и задержки, хотя и не очень точно. Почему не очень точно? Об этом вы узнаете из данной записи, а также здесь вы найдете простую инструкцию о том, как при помощи команды ping проверить домашнюю сеть и интернет соединение.

Если вам интересна тема компьютерных сетей, то в блоге уже практически закончена первая часть курса по основам компьютерных сетей, можете ознакомиться с ее содержимым. И вот здесь можно получить немного информации о самом курсе основанном на Cisco ICND1.

Что такое пинг и как работает эта команда?

Содержание статьи:

  • Что такое пинг и как работает эта команда?
  • Как проверить пинг?
  • Параметры команды Ping в Windows
  • Примеры использования утилиты Ping для сетевой диагностики
    • Бесконечный пинг удаленного узла
    • Как задать число пакетов команде Ping
    • Как узнать имя узла/доменное имя при пинге IP-адреса
    • Как задать размер пакетов при пинге и запретить фрагментацию пакетов при использовании команды Ping
    • Как узнать маршрут до удаленного узла при помощи утилиты Ping
    • Другие полезные параметры утилиты Ping
  • Как диагностировать домашнюю локальную сеть и интернет при помощи команды Ping
    • Как проверить сетевые программные компоненты компьютера при помощи утилиты Ping
    • Проверяем работу роутера и физических интерфейсов компьютера при помощи команды Ping
    • Проверяем интернет канал, который предоставляет нам провайдер при помощи утилиты Ping
  • Простые советы и рекомендации по использованию утилиты Ping при сетевой диагностики
  • Выводы

Команда Ping – одна из самых используемых сетевых утилит интерпретатора командной строки, присутствующая в стандартном наборе программных средств любой операционной системы с поддержкой сетевого взаимодействия. Утилита Ping является самым простым и удобным средством проверки доступности удаленного узла. Данная утилита есть не только в операционных системах для настольных ПК и серверов, например, операционных системах семейства Windows или UNIX-подобных операционных системах, к которым относится Linux (вот здесь можете немного прочитать про дистрибутив Linux Mint). Но также эта утилита есть среди стандартных компонентов многих сетевых устройств, скорее всего, ваш домашний роутер тоже умеет пинговать удаленные узлы.

Правда стоит сказать, что возможности утилиты Ping в домашнем роутере куда более скромные, нежели возможности команды Ping компьютера, на котором установлена Windows. Ну а если запустить эмулятор терминала Linux и посмотреть на параметры команды Ping там (именно параметры определяют возможности), то станет ясно, что реализация данной программы в Windows очень скромная, с ней мы и познакомимся в данной записи.

Программа Ping в Windows представлена одним файлом — ping.exe, этот файл находится в папке System32: c:WindowsSystem32. Но сейчас нам это не особо интересно, куда интереснее понять, как работает данная команда, и какие возможности есть нее при  использовании из командной строки Windows. Стоит отметить, что для ее использования вам не потребуется запускать командную строку от имени администратора.

Итак, мы уже выяснили, что команда Ping используется для проверки доступности удаленных узлов в компьютерной сети (сеть Интернет это тоже компьютерная сеть), для своей работы эта утилита использует протокол ICMP (Internet Control Message Protocol или протокол межсетевых управляющих сообщений), этот протокол работает на сетевом уровне модели стека протоколов TCP/IP (эта информация нам потребуется чуть ниже).

Как правило, в сетевом взаимодействие принимает участие, как минимум, две стороны, а между этими устройствами есть канал связи, в котором могут быть транзитные узлы и линии передач разного качества, чтобы косвенно оценить качество канала связи между точками А и Б, можно использовать команду Ping. Давайте договоримся, что точкой А будет наш компьютер, а точкой Б — удаленный узел.

Когда мы запустим командную строку и напишем ping <адрес удаленного узла> (в качестве адреса удаленного узла можно использовать как IP-адреса, так и доменные имена или имена хостов) и нажмем Enter, наш компьютер сформирует специальное сообщение, которое называется ICMP Echo-Request, это сообщение он запакует в IP-пакет (вспоминаем про инкапсуляцию данных в компьютерной сети), у пакета есть специальное поле IP-адрес назначения, в которое компьютер запишет IP-адрес удаленного узла, а также есть поле IP-адрес источника, в это поле компьютер запишет свой IP-адрес, чтобы на точке Б знали куда посылать ответ.

Также стоит заметить, что ICMP-запрос, который будет сформирован компьютером представляет собой сообщение, состоящее из двух больших частей:

  1. Заголовка (ICMP Header), в котором содержится вся служебная информация, в том числе и тип сообщения, то есть по заголовку можно понять чем является данное сообщение — запросом или ответом. Заголовок ICMP сообщения является обязательной его частью, размер заголовка составляет 8 байт.
  2. Тело сообщения или полезные данные (ICMP Payload) не является обязательной частью ICMP-сообщения, но при использовании команды Ping поле данных ICMP сообщения обычно заполняется символами английского алфавита.

Когда ICMP-запрос нашего компьютера дойдет до удаленного узла, он принимает решение о том, что с ним делать, удаленный узел может быть настроен таким образом, что вообще не будет отвечать на ICMP-запросы, но давайте представим, что удаленный узел решил ответить на наш запрос, в ответ он пошлет ICMP-ответ, а если быть точным, то ICMP Echo-Reply, размере заголовка ответа не изменится, он в любом случае 8 байт (изменятся некоторые значения заголовка), но еще удаленный узел должен будет поместить в поле данных ICMP-ответа те же самые данные, которые он получил в запросе, а затем послать его обратно нам на точку А.

Эта схема взаимодействия очень похожа на модель клиент-сервер, только с той разницей, что здесь нет явных ролей клиента и сервера: если точка А посылает запросы, то ответы ей будет давать точка Б, а если точка Б будет слать запросы, то отвечать придется точке Б, стоит еще заметить, что обмен ICMP сообщениями, строго говоря, не вписывается в модель клиент-сервер. ICMP-запрос нельзя считать попыткой компьютера получить услугу от удаленной стороны, а ответ удаленной стороны нельзя считать оказанием услуги, это просто служебные сообщения, которые позволяют нам убедиться, что связь между узлами есть.

Давайте запустим командую строку Windows и на практике посмотрим как работает утилита ping, напишите ping 8.8.8.8.

Как работает команда Ping в Windows

Как работает команда Ping в Windows

У команды Ping в любой операционной системе есть один обязательный параметр — адрес удаленного узла, я уже говорил, что это может быть как имя хоста, так и IP-адрес, в данном случае мы пинговали публичный ДНС-сервер Гугл по IP-адресу. По умолчанию команда Ping в Windows оправляет четыре запроса к удаленному узлу, также утилита в Windows по умолчанию задает размер полезных данных ICMP сообщения равным 32-ум байтам, каждый запрос упаковывается в IP-пакет, у которого есть поле TTL (time to live), по умолчанию команда Ping задает значение этому полю равное пятьдесят пять, все эти параметры можно менять, но об этом ниже.

Обратите внимание: после того как команда Ping закончила свою работу, она предоставила нам общую информацию, в данном случае мы видим, что было отправлено четыре пакета, получено четыре ответа и ни одного потерянного пакета, а также есть сводная информация о времени прохождения пакетов по сети: максимальное время, среднее время и минимальное время, в данном случае получилось, что этих три числа одинаковые, но так бывает не всегда.

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

Давайте попробуем пропинговать удаленный узел, используя доменное имя, пинговать будем домен компании Майкрософт, все дело в том, что некоторые сервера этой компании не отвечают на ICMP-запросы.

Передаем в качестве параметра команде Ping доменное имя

Передаем в качестве параметра команде Ping доменное имя

На скрине выше вы видите два результата работы команды Ping: в первом случае мы пинговали домен microsoft[точка]com, этот домен висит на IP-адресе 104.43.195.251, об этом нам сказала команда Ping, мой ПК отправил четыре запроса и ни разу не получил ответ, просто сервер Майкрософта не отвечает на запросы, при попытке пропинговать адрес 104.43.195.251, вы точно также получите четыре раза сообщение о том, что «Превышен интервал ожидания для запроса». Вообще, сообщения могут быть разными и сообщают они нам о разных ситуациях, но об этом мы будем говорить, когда начнем разбираться с протоколом ICMP.

Если вы откроете браузер и попробуете написать в адресной строке 104.43.195.251 или microsoft[точка]com, то сервер Майкрософт вас перенаправит на домен www[точка]microsoft[точка]сom, если пропинговать этот домен, то мы получим от него ответ, более того, команда Ping нам подскажет IP-адрес домена www[точка]microsoft[точка]сom, а также сообщит имя хоста (e13678.dspb.akamaiedge.net). Думаю, с назначением  команды Ping все ясно.

Как проверить пинг?

Вообще, вопрос «как проверить пинг?» некорректный, потому что при помощи утилиты Ping мы проверяем не пинг как таковой, а делаем косвенную оценку качеству канала связи между точкой А и точкой Б (об особенностях, которые есть между точкой А и Б мы поговорим в конце этой публикации), оценка косвенная, потому что при пинге узла где-нибудь в Америке неизвестных для нас факторов больше, чем известных.

Например, вы запустили пингуете игровой сервер в Австралии и получаете время ответа (иначе это время называется RTT – Round Trip Time) 90 миллисекунд. Хорошо это или плохо? На самом деле трудно сказать. Для того чтобы делать какие-то выводы, например, о качестве, а вернее о возможностях вашего провайдера предоставить качественную (в вашем понимание) связь с конкретным Австралийским сервером, вам нужно провести несколько тестов. Во-первых, оценить трассу до этого сервера при помощи утилиты tracert, затем проверить эту трассу на потери при помощи утилит mtr, WinMTR или pathping.

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

Если результаты с вашего ПК гораздо хуже, чем у одного из ваших друзей, то это еще не означает, что у него Интернет лучше, это означает, что его провайдер может предоставить канал до конкретного сервера с меньшими задержками/потерями. Не спешите менять провайдера, для начала попробуйте обратиться в тех. поддержку своего, возможно, они решат вашу проблему, это причина номер раз. Для меня причина номер два заключается в том, что мне просто было бы лень менять провайдера и проходит через все эти адовы муки подключения и беготни.

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

Параметры команды Ping в Windows

Теперь давайте посмотрим на параметры команды Ping в Windows. Для этого воспользуемся конструкцией, которая позволяет получить справку в командной строке (/?), команда будет выглядеть так: ping /?. Кстати говоря, если написать команду Ping без параметров, то в результате вы получите список доступных параметров. Стандартная команда help не даст вам подсказку.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

Использование: ping [t] [a] [n <число>] [l <размер>] [f] [i <TTL>]

[v <TOS>] [r <число>] [s <число>]

[[j <список_узлов>] | [k <список_узлов>]]

[w <время_ожидания>] [R] [S <адрес_источника>]

[c секция] [p] [4] [6] конечный_узел

Параметры:

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

Для отображения статистики и продолжения проверки

нажмите клавиши CTRL+BREAK;

для прекращения нажмите CTRL+C.

a Разрешает адреса в имена узлов.

n <число> Число отправляемых запросов проверки связи.

l <размер> Размер буфера отправки.

f Устанавливает флаг, запрещающий фрагментацию,

в пакете (только IPv4).

i <TTL> Срок жизни пакетов.

v <TOS> Тип службы (только IPv4; этот параметр

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

TOS в заголовке IP).

r <число> Записывает маршрут для указанного числа прыжков

(только IPv4).

s <число> Задает метку времени для указанного числа прыжков

(только IPv4).

j <список_узлов> Задает свободный выбор маршрута по списку узлов

(только IPv4).

k <список_узлов> Задает жесткий выбор маршрута по списку узлов

(только IPv4).

w <время_ожидания> Задает время ожидания каждого ответа (в миллисекундах).

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

маршрута (только IPv6). В соответствии с RFC 5095,

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

В некоторых системах запросы проверки связи могут быть

сброшены, если используется этот заголовок.

S <адрес_источника> Задает адрес источника.

c секция Идентификатор секции маршрутизации.

p Проверяет связь с сетевым адресом поставщика

виртуализации HyperV.

4 Задает принудительное использование протокола IPv4.

6 Задает принудительное использование протокола IPv6.

Как видите, справка Windows дает подробные и четкие пояснения по параметрам, которые можно использовать вместе с утилитой Ping. Стоит только добавить, что у данной утилиты есть один обязательный параметр — адрес удаленного узла, который может быть представлен как в виде IP-адреса, так и в виде доменного имени сайта или сервера.

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

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

Бесконечный пинг удаленного узла

Команда Ping имеет параметр, который позволяет пинговать удаленный узел бесконечно, это параметр -t. Чтобы бесконечно пинговать удаленный узле, нужно написать так: ping -t 8.8.8.8 (вместо 8.8.8.8 вы можете использовать любой другой IP-адрес).

Пример использования параметра -t с командной Ping, как сделать бесконечный пинг

Пример использования параметра -t с командной Ping, как сделать бесконечный пинг

Обратите внимание, на скриншоте статистика работы команды Ping показана два раза: сперва для первых пяти пакетов, а затем для всех отправленных пакетов. Когда вы делаете бесконечный пинг, можно посмотреть промежуточную статистику не прерывая выполнение, для этого нужно воспользоваться сочетанием клавиш ctrl+break. Чтобы остановить бесконечный пинг, воспользуйтесь сочетанием клавиш ctrl+c.

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

Утилита Ping в операционной системе Windows по умолчанию отправляет четыре пакета, иногда этого бывает недостаточно для проверки удаленного узла, иногда требуется отправить большее число ICMP-запросов. Для указания количество запросов к удаленному узлу у команды Ping есть параметр -n: ping -n 7 8.8.8.8.

Пинг удаленного узла с заданным числом пакетов, параметр -n команды Ping

Пинг удаленного узла с заданным числом пакетов, параметр -n команды Ping

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

Как узнать имя узла/доменное имя при пинге IP-адреса

Обычно, у публичного IP-адреса в сети Интернет есть hostname или имя хоста, команда Ping позволяет узнать имя хоста при помощи параметра -a. Работает это всё вот таким образом.

Определяем имя хоста при пинге IP-адреса

Определяем имя хоста при пинге IP-адреса

Обратите внимание: если имя хоста не задано, то параметр -a ничего не покажет, в данном случае приватный IP-адрес 192.168.0.1 прописан на моем домашнем роутере.

Как задать размер пакетов при пинге и запретить фрагментацию пакетов при использовании команды Ping

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

Дело всё в том, что ICMP-запрос, который посылает утилита Ping, представляет собой пакет, состоящий из двух частей: заголовка и полезных/бесполезных данных, размер заголовка ICMP составляет 8 байт. Чтобы ICMP-пакет смог дойти до узла назначения, он запаковывается в IP-пакет, который, как ни странно, тоже состоит из двух частей: заголовка и данных. Размер заголовка в протоколе IPv4 равен 20 байт.

А чтобы запрос смог дойти от вашего компьютера до домашнего роутера, IP-пакет помещается внутрь Ethernet кадра, но это для нас сейчас не важно. Наверное, не все читатели знают, поэтому мне стоит отметить, что на транспортном, сетевом и канальном уровнях модели передачи данных у сообщений этих уровней есть MTU (Maximum Transmission Unit) или максимальный размер полезной информации, который можно поместить в сообщение на том или ином уровне. При подключении вам провайдер сообщает максимально допустимое значение MTU, которое можно использовать, обычно, это значение 1500 байт, если провайдер подключает вас при помощи протокола PPPoE, то это значение 1492 байта. При этом MTU, которое сообщает вам провайдер, относится к канальному уровню, то есть Ethernet MTU. На рисунке ниже показаны настройка MTU на моем роутере.

Значение MTU на домашнем роутере

Значение MTU на домашнем роутере

А еще есть IP MTU (то есть максимальный размер полезных данных в IP-пакете) и есть размер пакетов, которые вы задаете при использовании команды Ping в Windows. Поэтому, когда вы используете команду Ping на разных устройствах с разными операционными системами, всегда узнавайте как работает эта команда, а потом только начинайте ее применять.

Когда вы задаете размеров пакетов при пинге из командной строки Windows, вы задаете размер полезных данных без учета заголовков протоколов IP и ICMP (то есть 28 байт не учитываются, но они есть), то есть если в Windows написать ping -l 1500, то на самом деле размер полезных данных в Ethernet кадре будет равен 1528 байт (так как для Ethernet кадра полезными данными является IP-пакет со всем его содержимым), а этом уже больше, чем разрешает нам провайдер. Давайте в этом убедимся.

C:UsersDell>ping l 1500 8.8.8.8

Обмен пакетами с 8.8.8.8 по с 1500 байтами данных:

Ответ от 8.8.8.8: число байт=1500 время=45мс TTL=55

Ответ от 8.8.8.8: число байт=1500 время=43мс TTL=55

Ответ от 8.8.8.8: число байт=1500 время=43мс TTL=55

Ответ от 8.8.8.8: число байт=1500 время=43мс TTL=55

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

Пакетов: отправлено = 4, получено = 4, потеряно = 0

(0% потерь)

Приблизительное время приемапередачи в мс:

Минимальное = 43мсек, Максимальное = 45 мсек, Среднее = 43 мсек

Первый раз я использовал команду ping -l 1500 8.8.8.8, то есть я задал размер 1500 байт, но почему-то, вопреки моим словам сказанным ранее, пинг до удаленного узла прошел, всё дело в том, что утилита Ping в Windows по умолчанию выполняет фрагментацию данных, то есть, если пакеты слишком большие и их невозможно пропихнуть в канал связи, то они разбиваются на более мелкие пакеты и только потом отправляются. В этом можно убедиться, если воспользоваться вот такой командной: ping -l 1500 -f 8.8.8.8. Параметр -f запрещает команде ping выполнять фрагментацию пакетов.

C:UsersDell>ping l 1500 f 8.8.8.8

Обмен пакетами с 8.8.8.8 по с 1500 байтами данных:

Требуется фрагментация пакета, но установлен запрещающий флаг.

Требуется фрагментация пакета, но установлен запрещающий флаг.

Требуется фрагментация пакета, но установлен запрещающий флаг.

Требуется фрагментация пакета, но установлен запрещающий флаг.

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

Пакетов: отправлено = 4, получено = 0, потеряно = 4

(100% потерь)

Я уже говорил, что в моем случае максимально возможный размер пакета равен 1472 байта, так получается из-за особенностей работы утилиты пинг в Windows, которая не учитывает размер ICMP и IP заголовков, плюс провайдер мне поставил ограничение MTU равное 1500 байт.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

C:UsersDell>ping l 1472 f 8.8.8.8

Обмен пакетами с 8.8.8.8 по с 1472 байтами данных:

Ответ от 8.8.8.8: число байт=1472 время=43мс TTL=55

Ответ от 8.8.8.8: число байт=1472 время=43мс TTL=55

Ответ от 8.8.8.8: число байт=1472 время=43мс TTL=55

Ответ от 8.8.8.8: число байт=1472 время=43мс TTL=55

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

Пакетов: отправлено = 4, получено = 4, потеряно = 0

(0% потерь)

Приблизительное время приемапередачи в мс:

Минимальное = 43мсек, Максимальное = 43 мсек, Среднее = 43 мсек

C:UsersDell>ping l 1473 f 8.8.8.8

Обмен пакетами с 8.8.8.8 по с 1473 байтами данных:

Требуется фрагментация пакета, но установлен запрещающий флаг.

Требуется фрагментация пакета, но установлен запрещающий флаг.

Требуется фрагментация пакета, но установлен запрещающий флаг.

Требуется фрагментация пакета, но установлен запрещающий флаг.

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

Пакетов: отправлено = 4, получено = 0, потеряно = 4

(100% потерь)

C:UsersDell>

Как видим, при использовании команды ping -l 1472 -f 8.8.8.8, пакеты доходят до конечного узла, но стоит немного увеличить размер пакета и они уже не уйдут дальше моего компьютера, это видно по результатам работы команды ping -l 1473 -f 8.8.8.8. Стоит отметить, что команда Ping может принимать сразу несколько параметров, главное, чтобы эти параметры не противоречили друг другу. Например, мы можем пропинговать удаленный узел, задав нужно количество пакетов и их размер, а также запретив фрагментацию пакетов.

Задаем количество пакетов и их размер для команды Ping в Windows

Задаем количество пакетов и их размер для команды Ping в Windows

Вот такие особенности есть у команды Ping в Windows при использование параметров -l и -f, учитывайте их, когда будете применять.

Как узнать маршрут до удаленного узла при помощи утилиты Ping

Вообще, маршрут до удаленного узла лучше узнавать с помощь специальных предназначенных для этого утилит: tracert, traceroute, pathping, mtr, winmtr. Но и команда Ping имеет полезный параметр для этих целей, параметр -r, но есть одно ограничение: параметр -r не может принимать значение больше 9.

Определяем маршрут до удаленного узла при помощи утилиты Ping

Определяем маршрут до удаленного узла при помощи утилиты Ping

Здесь вместе с параметром -r я использовал параметр -n, чтобы отправить только один пакет и получил девять переходов (посчитайте количество IP-адресов в трассе), давайте сравним полученный результат с тем, что выдаст нам команда tracert, ее вывод показан на рисунке ниже.

Пользуемся утилитой tracert для того, чтобы узнать маршрут до удаленного узла

Пользуемся утилитой tracert для того, чтобы узнать маршрут до удаленного узла

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

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

Другие полезные параметры утилиты Ping

Стоит упомянуть о еще трех параметрах утилиты Ping в Windows: -w, -S и -i. Этими параметрами вы будете пользоваться не так часто, но вероятность их использования есть, поэтому стоит вкратце о них рассказать. Начнем с параметра -w, который позволяет задать время ожидания ответа от удаленного узла (ваш компьютер не до бесконечности ждет ответа), по умолчанию команда Ping в Windows использует значение 4000 мс или 4 секунды, в нормальной ситуации этого достаточно, но если канал связи очень плохой, то можно попробовать увеличить это значение, чтобы убедиться, что на том конце есть кто-то живой. Значение параметра -w задается в миллисекундах: ping -w 6000 8.8.8.8, в данном случае компьютер будет ждать ответа 6 секунд.

Второй параметр -i позволяет задать TTL (time to live) или количество узлов, которое может пройти пакет, перед тем как он будет уничтожен, то есть, если между вашим ПК и удаленным компьютером находится больше 54 маршрутизатора, то запрос от вас не дойдет до адресата, он будет уничтожен. TTL – это специальное поле в заголовке IP-пакета, которое используется для борьбы с петлей маршрутизации (ситуации, когда маршрутизаторы сконфигурированы не верно и IP-пакет бегает между ними кругами, чтобы не нарезать круги бесконечно, пакету задается значение TTL, максимальное значение TTL равно 255). Допустим ваш компьютер сформировал IP-пакет и присвоил ему значение TTL равное 30, когда пакет попадет с вашего компьютера на домашний роутер, он его обработает и прежде чем отправить пакет дальше, он вычтет из значения TTL единицу, дальше пакет попадет на роутер провайдера с TTL равным 29, этот роутер тоже вычтет единицу и пошлет пакет дальше.

Команда ping в Windows по умолчанию задает пакетам значение TTL равное 55, этого более чем достаточно в обычной ситуации, но если вы хотите изменить TTL при пинге, воспользуйтесь такой командной: ping -i 200 8.8.8.8, теперь в поле TTL будет указано значение 200.

Третий параметр утилиты Ping -S, в данном случае регистр символов имеет значение: -s позволяет увидеть метку времени, а -S позволяет задать IP-адрес источника, эта бывает полезно в тех ситуациях, когда на вашем узле прописано сразу несколько IP-адресов, параметр -S позволяет задать IP-адрес, с которого будет пинговаться удаленный узел, когда мы говорили про команду tracert, я упоминал, что маршрут «туда» может отличаться от маршрута «обратно», IP-адрес источника при пингах и трассировках не влияет на маршрут «туда», но зато он может повлиять на маршрут обратно, поэтому время прохождения пакетов по сети с разных IP-адресов на одном устройстве может быть различным, вот пример использования параметра -S: ping -S 34.48.99.200 google.com. Здесь мы пингуем сервер Гугла с IP-адреса 34.48.99.200.

Как диагностировать домашнюю локальную сеть и интернет при помощи команды Ping

При помощи утилиты Ping можно легко диагностировать домашнюю сеть. Во-первых, перед использованием команды Ping, вам нужно будет использовать команду ipconfig, с помощью которой можно узнать IP-адрес вашего компьютера и IP-адрес основного шлюза, то есть локальный IP-адрес роутера (на домашнем роутере обычно используется два IP-адреса: один IP-адрес  для взаимодействия с устройствами локальной сети, для этих устройств этот IP-адрес является адресом основного шлюза или шлюза по умолчанию, а второй IP-адрес используется для соединения с провайдерским роутером, его можно найти в разделе настроек WAN в роутере).

Вернемся к команде ipconfig, напишите ее в командной строке и нажмите Enter, вы получите большой вывод, который я не буду демонстрировать на скриншоте, а покажу лишь тот фрагмент, который нам нужен для диагностики домашней сети и сетевого интерфейса моего ПК.

Адаптер беспроводной локальной сети Беспроводная сеть:

DNSсуффикс подключения . . . . . :

Локальный IPv6адрес канала . . . : fe80::d86b:69ce:ccc4:d47f%9

IPv4адрес. . . . . . . . . . . . : 192.168.0.101

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз. . . . . . . . . : fe80::e459:13ff:fe85:8eda%9

192.168.0.1

Здесь мы видим IP-адрес моего компьютера: 192.168.0.101, маску подсети, в которой находится мой компьютер: 255.255.255.0, а также адрес основного шлюза, то есть IP-адрес интерфейса роутера, который «смотрит» в мою локальную сеть: 192.168.0.1, воспользовавшись этим IP-адресом, можно зайти в web-интерфейс роутера при помощи браузера, чтобы изменить его настройки.

Как нам это поможет при диагностике домашней сети? Всё очень просто! Мы будем пинговать эти адреса и смотреть на потери.
Если у вас появились какие-то проблемы с выходом в Интернет, не спешите звонить в тех. поддержку своего провайдера (решение проблемы от этого может только затянуться), с большей долей вероятности проблема в вашей локальной сети, решение такой проблемы через провайдера — долгое занятие, если тех. поддержка не увидит у себя на сети никаких проблем, то просто пришлет к вам своего специалиста с ноутбуком, он подключится к вашему интернету, покажет, что всё работает и вам всё равно придется решать свою проблему самому, провайдер не отвечает за работоспособность вашей домашней сети.

Как проверить сетевые программные компоненты компьютера при помощи утилиты Ping

Давайте теперь посмотрим чем нам может помочь команда Ping. Для начала вам нужно проверить правильность работы сетевых библиотек и других сетевых программных компонентов вашего ПК. Для этого можно воспользоваться loopback ip-адресом или петлевым сетевым интерфейсом 127.0.0.1, такой адрес должен пинговаться всегда без потерь даже без подключения к Интернету, так как пингуя этот IP-адрес, вы пингуете сами себя, поэтому это называется петлевой интерфейс.

Петлевой интерфейс должен пинговаться быстро и без потерь, так как в данном случае нет никаких внешних линий связи, для его диагностики рекомендую использовать вот такую вариацию команды ping: ping -w 2 -l 1500 -n 1000 -f 127.0.0.1. Таким образом мы пингуем сами себя пакетами, размер которых равен максимально допустимому в сети провайдера (мы запретили фрагментацию), время ожидания мы задали 2 мс, хотя это уже много, в идеале время ответа удаленного узла в данной ситуации должно быть меньше 1 мс (в данном случае удаленный узел вовсе никакой не удаленный, а ваш собственный).

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

Проверяем программные сетевые компоненты компьютера при помощи команды Ping

Проверяем программные сетевые компоненты компьютера при помощи команды Ping

Командой ping 127.0.0.1 мы проверяем связь внутри компьютера, но эта команда не проверяет корректность физических интерфейсов вашего ПК.

Проверяем работу роутера и физических интерфейсов компьютера при помощи команды Ping

Что понимается под словосочетанием физический интерфейс? Под ним понимается сетевая карта и ее порт, а также Wi-Fi модуль вашего компьютера. Вероятно, ваш компьютер подключен к роутеру, подключение компьютера к роутеру может быть как по Wi-Fi, так и по витой паре, один конец которой включен в ваш ПК, а другой в роутер. Проблемы могут быть и на этом участке, и их можно обнаружить командой ping. Ранее мы узнали локальный IP-адрес моего ПК и IP-адрес роутера, который «смотрит» в мою локальную сеть. Чтобы проверить работоспособность сетевых компонентов, участвующих в организации связи между ваши ПК и роутер, можно пропинговать IP-адрес роутера вот такой командной: ping -w 2 -l 1472-n 1000 -f 192.168.0.1. В данном случае мы поменяли только IP-адрес и размер пакетов (в моем роутере задан MTU 1500 байт, куда делись 28 байт вы должны помнить, писал выше), так как задержки в вашей маленькой локальной сети (в пределах квартиры или малого офиса) должны быть минимальны, если есть потери, это уже плохо, потерь быть не должно. Для начала попробуйте увеличить значение параметра -w до 20-30 мс, если наблюдается разброс по времени, то это тоже плохо, это означает, что есть проблема на участке между вашим ПК и домашним роутером. Если проблем нет, то в результате вы должны увидеть примерно такую картину.

Ответ от 192.168.0.1: число байт=1472 время=1мс TTL=64

Ответ от 192.168.0.1: число байт=1472 время=1мс TTL=64

Ответ от 192.168.0.1: число байт=1472 время=1мс TTL=64

Ответ от 192.168.0.1: число байт=1472 время=1мс TTL=64

Ответ от 192.168.0.1: число байт=1472 время=1мс TTL=64

Ответ от 192.168.0.1: число байт=1472 время<1мс TTL=64

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

Пакетов: отправлено = 1000, получено = 1000, потеряно = 0

(0% потерь)

Приблизительное время приемапередачи в мс:

Минимальное = 0мсек, Максимальное = 7 мсек, Среднее = 1 мсек

C:UsersDell>

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

Настройки Wi-Fi в роутере TP-LInk

Настройки Wi-Fi в роутере TP-Link

Если не помогло, то не стоит паниковать, сейчас многие домашние роутеры и компьютеры могут работать в двух диапазонах: 2.4 и 5 ГГц, если вы используете диапазон 2.4 ГГц, то перейдите на режим 5 ГГц и наоборот. Если и это не помогло, то попробуйте перезагрузить ваш роутер по питанию и снова проверить (сделать reboot). Не помогло? Тогда делаем reset или сброс роутера к заводским настройкам. Когда вы купили и поставили роутер на нем были заводские настройки, затем вы его настроили или вам его кто-то настроил, reset возвращает роутер к тем конфигурациям, которые у него были прямо из коробки, то есть роутер нужно будет настроить заново. Обычно сброс роутера к заводским настройкам можно сделать при помощи вдавленной в корпус кнопки на задней панели, для этого нужно взять иголку или спичку и зажать эту кнопку на 5-10 секунд, если все сделано правильно, роутер начнет мигать своими лампочками как сумасшедший.

Если процедура перезагрузки или сброса роутера к заводским настройкам помогает на какое-то время, а потом снова все становится плохо, то это повод задуматься о замене домашнего маршрутизатора, это выйдет дешевле, чем нести его в ремонт, особенно, если гарантийный срок истек. Если все вышеописанные действия не помогают, то попробуйте проверить связь по Wi-Fi с роутером другим устройством и оцените результат.

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

В общем, соедините свой ПК с маршрутизатором при помощи провода и снова проверьте связь при помощи команды Ping. Если провода помогли, то у вас какие-то проблемы с Wi-Fi каналом (может быть сама среда распространения забита, может это модуль вашего ПК, а может и роутер).

Если же ваш компьютер изначально был подключен к маршрутизатору проводом, то не спешите переключаться на Wi-Fi, для начала попробуйте перезагрузить сетевую карту ПК и маршрутизатор, это может помочь. Проблема сохранилась? Тогда посмотрите на заднюю панель роутера, в простых домашних роутерах там есть один WAN-порт, в который включен кабель провайдера и несколько LAN-портов для подключения устройств локальной сети (домашний роутер — это на самом деле три очень урезанных устройства: Wi-Fi антенна, роутер и сетевой коммутатор, иногда это еще и устройство физического уровня, которое называется модем, например, если провайдер предоставляет вам связь по ADSL, про разницу между хабами, коммутаторами и роутерами можно прочитать здесь). На рисунке ниже показана задняя панель моего маршрутизатора.

Домашний Wi-Fi маршрутизатор TP-Link Archer C20

Домашний Wi-Fi маршрутизатор TP-Link Archer C20

Синий порт — это WAN, желтые порты — LAN. Для начала просто попробуйте включить-выключить кабель из портов своего роутера и компьютера, а затем повторите пинг, если не помогло, то со стороны роутера попробуйте переключиться в другой порт, например, ваш ПК был включен в первый порт роутера, попробуйте переключить его во второй, если не поможет, то продолжаем диагностику.

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

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

Проверяем интернет канал, который предоставляет нам провайдер при помощи утилиты Ping

Когда мы подключаемся к интернет-провайдеру, он нам сообщает сетевые настройки, либо говорит: настраивайте свое устройство на динамическое получение IP-адреса. В любом случае обычно мы получаем от провайдера следующие сетевые настройки:

  1. IP-адрес для нашего устройства, которое будет включено в сеть провайдера.
  2. Маску подсети.
  3. Основной шлюз. Основной шлюз, который нам дает провайдер — это IP-адрес провайдерского маршрутизатора, через этот маршрутизатор провайдер нас выпускает в Интернет.
  4. Два DNS-сервера — основной и запасной.

IP-адрес основного шлюза, выданный провайдером, поможет нам диагностировать не только интернет-канал, предоставляемый провайдером, но и домашние сетевые устройства. Для начала давайте посмотрим как мы можем проверить канал, предоставляемый провайдером, по которому мы выходим в Интернет, при помощи команды ping, открываем командую строку и пишем: ping -w 20 -l 1472 -n 100 -f 188.44.112.129. В моем случае IP-адрес 188.44.112.129 — это IP-адрес основного шлюза, который выдал провайдер, 100 пакетов будет более чем достаточно, ну а время ожидания удаленного узла 20 мс взято с запасом. По среднему времени ответа от основного шлюза трудно сказать конкретно, всё дело в том, что между провайдерским роутером и вашим устройством может быть несколько десятков коммутаторов, но в любом случае это время должно быть порядка нескольких миллисекунд, вот так это выглядит в моем случае:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=2мс TTL=254

Ответ от 188.44.112.129: число байт=1472 время=3мс TTL=254

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

Пакетов: отправлено = 100, получено = 100, потеряно = 0

(0% потерь)

Приблизительное время приемапередачи в мс:

Минимальное = 1мсек, Максимальное = 12 мсек, Среднее = 2 мсек

C:UsersDell>

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

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

Пингуем основной шлюз провайдера с домашнего роутера

Пингуем основной шлюз провайдера с домашнего роутера

Если при пинге с роутера потерь нет и нет проблем с временем ответа сервера, то вам нужно проверять свою локальную сеть и выяснять с чем там проблемы, проблемы могут быть: с сетевым программным обсечением вашего ПК, с каналом связи между ваши роутером и ПК, а также физическими интерфейсами, образующими этот канал (LAN-порт роутера, сетевая карта ПК и ее драйвера, медная линия, соединяющая роутер и ПК, и наконец проблема с Wi-Fi).

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

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

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

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

Сейчас мы не будем говорить про использование утилиты Ping для проверки отдельных ресурсов и серверов в сети Интернет, во-первых, по этому поводу будет отдельная публикация, во-вторых, команда Ping – не лучшее для этих целей средство, как минимум, есть такие утилиты как tracert, traceroute, tracetcp, mtr и WinMTR, pathping, но это из простого, есть и более сложные вещи.

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

Мы близки к завершению и тут следует дать несколько советов и рекомендаций по использованию утилиты Ping для диагностики компьютерной сети. Откровенно говоря, команда пинг — не самое лучше средство сетевой диагностики, её можно использовать для быстрой проверки доступности сетевых ресурсов. Например, вы является сетевым администратором точек сети быстрого питания, у вас 15 точек, на каждой точке есть Интернет, тогда вы можете написать простой скрипт или воспользоваться уже готовым, этот скрипт будет пинговать удаленные точки и оповещать вас, если пинг прервется, тем самым у вас максимально оперативно будет информация о том, что на одной из точек пропал интернет. Для более глубокого анализа есть другие программы.

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

Бывают обратные ситуации, когда пинг до сайта проходит, но зайти вы на него не можете, во-первых, изучите коды ответов HTTP сервера, проблем не обнаружили, а браузер вам сообщает, что истекло время ожидания? Тогда воспользуйтесь утилитой tracetcp, сделайте трассировку по протоколу TCP с указанием 80 порта в том случае, если сайт работает по протоколу http, если же сайт работает по https, то делайте трассировку по 443 порту. Есть большая доля вероятности, что такая трассировка прервется на вашем же ПК или роутере, если она прошла дальше, то сравните трассировку сделанную по tracetcp и tracert/traceroute, если разница только в последнем хопе (нескольких последних хопах), то надо обращаться в владельцам сайта/сервера/сервиса.

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

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

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

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

Четвертый момент связан с балансировкой в крупных сетях и с коммерческим/юридическим взаимодействие провайдеров и других крупных игроков: зачастую вы и удаленный ресурс, на который вы хотите попасть, пользуетесь услугами разных интернет провайдеров:

  1. Маршрут, который проделывает пакет в сторону удаленного узла при каждом пинге может быть разным, так как в этом самом интернете есть дорогие маршрутизаторы, которые каждую секунду пропускают через себя десятки/сотни гигабит трафика, на этих маршрутизаторах может работать балансировка, благодаря которой первый ваш пакет пойдет налево, а второй направо, но в итоге они все равно доберутся до конечного узла, правда немного разными путями. Будем называть маршрут от нашего ПК до удаленного узла маршрутом «Туда».
  2. А маршрут пакета от удаленного узла до нашего мы будем называть маршрут «обратно». Очень часто маршрут «туда» и маршрут «обратно» не совпадают, соответственно, различно и время, которое тратится на то, чтобы добраться «туда», а потом прийти «обратно», но в результатах работы команды Ping мы видим только суммарное время: «туда» + «обратно», к тому же мы не знаем есть ли где-то балансировка и как вообще идет пакет.

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

Выводы

Какие выводы можно сделать о команде Ping в общем и ее реализации в операционных системах семейства Windows в частности. Давайте в начале по Windows. Если сравнивать реализацию пинга в Windows с реализацией команды ping в Linux, то виндовая реализация однозначно проигрывает по своему функционалу, пожалуй, это всё, что нужно отметить. Если же говорить о команде ping в общем, то стоит понимать ее назначение — эта утилита предназначена для проверки доступности удаленных узлов/серверов, а также для проверки потерь пакетов и задержек, то есть для косвенной оценки качества работы сети передачи данных. Для более глубокой диагностики потребуется более специализированный софт.

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

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

  • Синтаксис команды Ping
  • Примеры команды Ping
  • Поддержка команды 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 -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 – утилита командной строки, которая нужна для проверки подключения к другому компьютеру на уровне IP. Принцип работы очень простой: команда ping ip отправляет серию небольших пакетов данных на указанное устройство, а затем показывает время ответа.

Ping – основная команда TCP/IP, которая используется для устранения неполадок подключения, доступности и разрешения имени. Она также позволяет узнать имя и IP-адрес компьютера. 

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

Команда ping в Windows имеет следующие параметры, которые позволяют решать разные задачи:

ping [/t] [/a] [/n <count>] [/l <size>] [/f] [/I <TTL>] [/v <TOS>] [/r <count>] [/s <count>] [{/j <hostlist> | /k <hostlist>}] [/w <timeout>] [/R] [/S <Srcaddr>] [/4] [/6] <targetname>

Чтобы посмотреть в командной строке (cmd) ping-команды, вызовите справку:

ping /?

Справка Ping на WindowsНа Linux параметры команды отличаются. Чтобы посмотреть доступные опции, выполните в терминале команду:

ping -help

Справка ping

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Простая проверка доступности

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

Пример запроса:

ping google.com // вместо домена можно указать IP-адрес

Windows отправит только 4 запроса, после чего выдаст статистику для указанного адреса. Можно убрать это ограничение, указав параметр -t.

Чтобы прервать отправку и получить статистику, нажимаем сочетание клавиш Ctrl+C.

Проверка доступности сервера

По умолчанию команда ping IP-адреса на Linux посылает пакеты, пока вы не прервете их отправку вручную с помощью сочетания клавиш Ctrl+C. Чтобы ограничить количество, укажем нужное число. Например:

ping -c 3 google.com // будет отправлено 3 пакета

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

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

ping -i 5 IP-адрес // 5 секунд между отправкой пакетов

ping -i 0.2 IP-адрес // 2 миллисекунды между отправкой пакетов

Для установки значений меньше 0.2 секунды требуются права суперпользователя (sudo).

Массовая отправка пакетов для нагрузочного тестирования

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

ping -f IP-адрес  // за секунду будут отправлены сотни тысяч запросов

Изменение размера пакета 

По умолчанию размер пакета – 32 байта. Можно установить другой размер:

$ ping -s 100 IP-адрес // значения указываются в байтах

Включение звукового сигнала

Если ответа от хоста нет, отправляем эту команду:

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

Вывод статистики ping

Чтобы не засорять терминал лишней информацией, пропустим ответы хоста и сразу получим статистику: 

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

Ping — одна из наиболее часто используемых сетевых команд.

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

Прежде всего, давайте посмотрим, что такое пинг. Ping — это командная утилита терминала / оболочки, используемая как простой способ убедиться, что машина имеет доступ в Интернет и может взаимодействовать с другими компьютерами или сетевыми устройствами.

Некоторые из функций команды ping:

  • Проверка подключения к сети: локальная сеть, интернет
  • Устранение неполадок сетевой карты
  • Проверьте проблемы с разрешением DNS-имен

В большинстве операционных систем, таких как Windows, macOS и Linux, предварительно установлен Ping, но мы рассмотрим процесс установки в этой статье.

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

Использование пинга

Чтобы проверить, установлен ли ping, запустите терминал (macOS, Linux) или командную строку (Windows) и введите «ping –help». В большинстве случаев вы должны увидеть что-то вроде этого.

Если вы получите раздел справки со списком используемых флагов, все готово. В некоторых дистрибутивах Linux, таких как Ubuntu, у вас могут возникнуть проблемы, поскольку ping не установлен по умолчанию. В Ubuntu вы можете установить ping с помощью:

sudo apt install iputils-ping

Другой способ проверить ping, установленный в вашей системе, — это использовать which, который возвращает путь к любому бинарному файлу, установленному в вашей системе:

which ping

# /usr/bin/ping  # My result

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

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

Ping принимает один аргумент — веб-адрес или IP-адрес, к которому вы пытаетесь подключиться. Например, попробуем подключиться к toadmin.ru.com.

$ ping toadmin.ru.com

Помните, что знак «$» означает, что мы используем оболочку bash; в Powershell (Windows) это будет «>». Вы должны скопировать только команду, а не знак доллара.

После ввода приведенной выше команды вы должны увидеть что-то вроде следующего:

PING toadmin.ru.com (104.27.118.115) 56(84) bytes of data.
64 bytes from 104.27.118.115 (104.27.118.115): icmp_seq=1 ttl=57 time=64.1 ms
64 bytes from 104.27.118.115 (104.27.118.115): icmp_seq=2 ttl=57 time=71.4 ms

Во-первых, он указывает имя домена, к которому мы пытаемся подключиться, и его IP-адрес в скобках. Затем он отправляет пакеты байтов данных (обычно 64) в нужное место назначения. Чтобы остановить команду ping, просто нажмите Ctrl + C.

Если у вас стабильное интернет-соединение (я уверен, что у вас оно есть, раз вы читаете это), вы должны получить сообщение, похожее на приведенное ниже:

--- toadmin.ru.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 10192ms

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

Тот же самый процесс происходит, когда вы посещаете веб-страницу, вы (ваш браузер) отправляете пакеты данных с запросом, DNS (служба доменных имен) переводит доменное имя в реальный IP-адрес, а затем хост передает содержимое страницу обратно к нам. Мы, конечно, многое пропускаем, но это всего лишь объяснение простого сетевого взаимодействия.

Совет: в любое время, когда вам понадобится список доступных флагов, вы можете вызвать его справочную страницу с помощью man или флага —help.

man ping
# Manual page
ping --help
# Help flag

IPv6 против IPv4

В мире заканчиваются IP-адреса, и в результате мы начинаем внедрять IPv6 (интернет-протокол версии 6).

Вкратце поясним, что IPv4 — это основной IP-протокол, на котором работает Интернет. Он использует 32-битный IP-адрес, включая числовое обозначение с точкой. Например, основной IP-адрес Google 8.8.8,8. IPv4 существует с 1981 года, и это обычный протокол, к которому мы привыкли.

С другой стороны, IPv6 — это еще один IP-протокол, который решает проблему выхода из адреса. Если IPv4 имеет до 4,3 миллиарда комбинаций, IPv6 мог бы 340 триллионов триллионов триллионов IP-адресов.

Вот пример IPv6-адреса: 2001: дб8: 3333: 4444: 5555: 6666: 7777: 8888.

Другими словами, в ближайшие несколько лет мы перейдем на IPv6-адреса, потому что каждому устройству IOF (интернета вещей) и новым веб-сайтам потребуются новые адреса.

Ping уже поддерживает IPv6-адреса, и в некоторых дистрибутивах Linux вы можете найти эксклюзивную команду, пинг6для них.

Однако лучший способ пропинговать IPv6-адрес — использовать флаг -6.

Вот пример:

ping -6 2001:db8:3333:4444:5555:6666:7777:8888

Если ваша сеть еще не поддерживает IPv6, не беспокойтесь. Адаптация IPv6 в последние годы стремительно растет.

Расширение поддержки IPv6

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

Онлайн-сервисы проверки связи

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

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

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

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

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

№1. Проверьте подключение к Интернету

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

ping google.com

Если вы не получили никакого ответа, скорее всего, ваше интернет-соединение работает неправильно.

№ 2. Отправить определенное количество пингов

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

ping -c 3 toadmin.ru.com

Примечание. Этого не происходит в Windows, где ping отправляет только 4 пакета данных.

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

ping -c 1 google.com

№3. Пинговать сервер в течение интервала

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

ping -i 3 toadmin.ru.com

№ 4. Пинг локального хоста

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

ping localhost
# works fine
ping 127.0.0.1
# works fine too

Пинг проходит не через физический сетевой интерфейс, а через виртуальную петлю.

№ 5. Пинг трансляции

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

ping -b 255.255.255.255

№ 6. Отправить пакет определенного размера

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

ping -s 70 google.com

Обратите внимание, что некоторые запросы могут не работать, если вы отправляете пакет большого размера.

№ 7. Флуд пинг

Флаг -f отправляет ping-запросы так быстро, как только могут ваш компьютер и сеть. Поскольку минимальный интервал проверки связи, разрешенный пользователю, составляет 200 мс, вы должны запустить его от имени суперпользователя с помощью команды sudo.

ping -f google.com
PING google.com (142.250.78.142) 56(84) bytes of data.
ping: cannot flood; minimal interval allowed for user is 200ms

sudo ping -f -c 1000 google.com
# Stop after 1000 pings
--- google.com ping statistics ---
1000 packets transmitted, 1000 received, 0% packet loss, time 11158ms

Как видите, я использовал флаг count, чтобы остановить отправку запросов после того, как он достиг 1000 раз (обратите внимание, что это заняло всего 11 секунд).

Примечание. Будьте предельно осторожны, используя «флуд-пинг», так как вы можете вызвать DoS (отказ в обслуживании) для сервера, который вы пингуете. Единственная ситуация, в которой вы должны использовать это, — это тестирование вашего сервера в средах с высокой интенсивностью.

IP-адрес или API-интерфейс домена

toadmin.ru Ping API — это удобный инструмент, который может помочь вам отслеживать производительность любого IP или домена из разных мест.

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

И более того, вы можете легко сделать это с бесплатным уровнем API toadmin.ru, который дарит 3000 вызовов API в месяц.

Для профессионалов премиальные планы добавляют резидентные прокси, большую скорость запросов и большее количество вызовов API, начиная всего с 5 долларов в месяц.

Вывод

Пинг — инструмент практически такой же старый, как и сам Интернет. С его помощью вы можете определить, есть ли у вас активное подключение к Интернету, и проверить, можете ли вы подключиться к веб-серверам или другим сетевым устройствам.

Не забудьте использовать наш инструмент проверки 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»..

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

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

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

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

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

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

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

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

  • Ping URL (например, сайт) или 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 для устранения неполадок в домашней или малой бизнес-сети. Кроме того, если Вам поручено устранять неполадки в крупных сетях, Вы, вероятно, уже знаете, как использовать пинг и многие другие сетевые инструменты.

Команда 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 сайт
— опрос узла сайт
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 с 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 по 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.

    Командная строка Windows, как правило, не используется большинством пользователей, возможно потому, что не все знают, какие команды нужно использовать в том или ином случае, какой полезной она может иногда оказаться, или вообще – что это такое?

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

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

    Эта статья предназначена исключительно как введение в некоторые из множества полезных команд.

    Основные команды cmd.

    1. Принудительная остановка запущенного процесса Ctrl+C

    Первая команда, которую вам следует знать это одновременное нажатие двух клавиш Ctrl и С
    . Это сочетание останавливает практически любую команду. Если вы обнаружили ошибку во введенной команде, вы можете просто стереть ненужные символы с помощью кнопки backspace, но, если вы уже запустили не то, что требовалось, можете использовать комбинацию Ctrl+C
    .

    Внимание! Эта команда не волшебная палочка! Она не сможет отменить те процессы, которые не могут быть отменены, поэтому будьте аккуратны!

    2. Вызов справки по команде /?

    Второй командой, которую вам следует запомнить, является /?
    . Набрав эти два символа после другой команды, вы увидите справку по интересующей вас команде. Например:

    3. Информация о вашем сетевом подключении

    Данная команда отобразит информацию о вашем подключении по локальной сети:

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

    4. Проверка пинга (проверка соединения) ping

    Допустим, у вас подключены два компьютера по Ethernet кабелю (как обжать кабель для создания локальной сети мы уже рассматривали ранее). Вам нужно быть уверенным, что между ними есть соединение. Для этого вам нужно с компьютера, ip-адрес которого 192.168.0.1 запустить ping 192.168.0.5 (где 192.168.0.5 – это ip-адрес второго компьютера).

    Если все в порядке, то перед вами появятся пинги. Если же что-то сделано не так, у вас будет надпись Заданный узел недоступен. Остановить данную команду вы сможете с Ctrl+C
    .

    5. Выход из командной строки exit
    .

    Командой exit
    вы можете закрыть окно командной строки.

    6. Копирование файлов xcopy
    .

    Очень полезный инструмент для копирования файлов. Допустим, вы хотите скопировать фотографии с диска C на внешний диск.

    Наберите xcopy c:фото f:фото /s /e
    (где f
    – это внешний диск).

    6. Проверка времени time
    .

    Если вам необходимо настроить , напечатав time
    , вам будет представлено текущее время. И здесь же вам предложат изменить время на правильное.

    7. Открыть новое окно командной строки cmd
    или start
    .

    Введите команду cmd
    или start
    и перед вами откроется новое окно командной строки. Вы также можете просто очистить действующее окно. Для этого наберите команду cls
    (очистить экран).

    8. Проверка системных файлов sfc / scannow
    .

    Вредоносное ПО иногда пытается заменить файлы ядра системы с измененными версиями для того, чтобы получить контроль над системой. Проверка системных файлов может быть использована для проверки целостности файлов системы Windows. Если какие-либо файлы оказываются поврежденными или удаленными, то они будут заменены.

    9. Информация об установленных драйверах driverquery
    .

    Если вы хотите увидеть, какие драйверы установлены на вашем ПК, вы можете сделать это, запустив команду driverquery
    . Эта команда предоставляет информацию о каждом драйвере, который у вас используется.

    Если вам нужно немного больше информации, вы можете добавить латинскую букву V (вот, как это будет выглядеть driverquery-V
    ) .

    10. Узнать ip-адрес сайта nslookup
    site.ru

    Наберите в командной строке nslookup
    сайт.ru, чтобы узнать ip-адрес сайта site.ru.

    11. Вставить текст

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

    Команда 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
    .

    В этой статье мы расскажем, что делает команда Ping, и разберём, где может понадобиться команда Ping.

    Ping: описание команды

    Серверы требуют постоянной диагностики своих систем. Одним из базовых инструментов, который помогает в администрировании сервера, является утилита Ping. Её основная задача ― определение работоспособности узла, сайта или сервера в интернете.

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

    Кроме проверки доступности удалённого хоста, с помощью этой команды можно:

    • измерить время, за которое сервер отвечает на команду,
    • выявить IP-адреса хоста в локальной и глобальной сети,
    • определить качество соединения (были ли потеряны пакеты в пути),
    • внедрить команду в bash-скрипт для автоматической проверки сетевого устройства.

    Обратите внимание! Если вы используете прокси-сервер, команда пинг работать не будет, так как для её действия нужно прямое соединение с устройством.

    У команды есть несколько параметров, которые предназначены для разных задач. Чтобы посмотреть все возможные опции, введите в командной строке:

    В Windows:


    Как войти в командную строку Windows

    1. 1.

      Нажмите значок поиска на Панели задач.

    2. 2.

      В строке поиска введите cmd.

    3. 3.

      В результатах поиска найдите Командная строка.

    4. 4.

      В открывшемся меню выберите пункт Запустить от имени администратора:



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

    В Linux:

    Перед вами появится весь список доступных параметров:



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

    Как проверить доступность и работоспособность сервера

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

    Для проверки доступности сервера введите:

    Вместо domain.name может быть указан:

    • любой домен, например доменное имя вашего сайта, на котором наблюдаются неполадки,
    • IP-адрес.

    На Windows и Linux эта команда работает по-разному. Команда Ping в Linux посылает пакеты, пока вы не прервёте их отправку вручную с помощью сочетания клавиш Ctrl+C.

    Вам придёт ответ:



    Как пользоваться Ping 3
    Ubuntu ping

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

    На Windows команда по умолчанию отправляет только 4 пакета. Если на Windows вам нужно отправить больше пакетов, можно ввести команду с параметром -t. Это будет выглядеть так:

    Команда будет бесконечно пинговать удалённый сервер, пока вы не нажмёте Ctrl+C. После остановки перед вами снова появится статистика, но отправленных пакетов будет больше.

    Хорошим временем отклика считается 10 ms, удовлетворительным ― до 20 ms. Значения выше этих могут говорить о проблеме при работе с удалённым сервером.

    Вместо цифр может появиться фраза «Превышен интервал ожидания». Такое бывает, когда сервер не успел ответить за 4 секунды. Это установленное по умолчанию время ожидания для утилиты. Такой ответ не всегда говорит о проблемах на сервере. Ping-запросы не приоритетны. Если сервер перегружен, он может выполнить их позже. Можно увеличить время ожидания сервера по инструкции ниже и попробовать ещё раз.

    Как увеличить время ожидания ответа от сервера

    Время ожидания ответа можно изменить с помощью параметра -w.
    Введите:

    Где 5000 ― время ожидания в миллисекундах (1с = 1000 мс).

    Как отправить определённое количество пакетов

    Необязательно вручную останавливать отправку пакетов. Можно сразу ограничить их количество параметром -c. Для этого введите:

    Где:

    • 6 ― количество пакетов,
    • domain.name ― доменное имя или IP-адрес.



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

    Как изменить размер пакета

    По умолчанию команда отправляет пакеты размером по 56 байт. Такой размер файлов не влияет на работу сети при пинговании. Если нужно, вес пакетов можно изменить. Для этого используйте параметр -s. Введите:

    ping -s packet_size domain.name

    Где:

    • packet_size ― размер пакета в байтах,
    • domain.name ― доменное имя или IP-адрес.

    Например: ping —s 100 123.456.1.1

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

    По умолчанию пакеты отправляются с интервалом в 1 секунду. Если вы хотите сделать интервал меньше или больше, введите:

    Где:

    • 5 ― количество секунд между отправками пакетов,
    • domain.name ― доменное имя или IP-адрес.

    Обратите внимание! Для установки значений меньше 0,2 секунды требуются права суперпользователя.

    Комбинация параметров

    Чтобы получить подходящую команду, можно комбинировать параметры.
    Например: ping —с 6 —s 100 domain.name.

    Как протестировать нагрузку

    Чтобы протестировать нагрузку, нужно организовать массовую отправку пакетов. Обратите внимание, эта команда доступна только для суперпользователя. Введите:

    За секунду будут отправлены тысячи запросов. Чтобы прекратить отправку, нажмите Ctrl+C. Система покажет вам количество отправленных и обработанных пакетов.

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

    Для включения звукового сигнала введите:

    Как вывести только результат проверки Ping в Linux

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

    Если пакеты от команды Ping не принимаются, это может говорить о проблемах на сервере или о том, что на устройстве отключена функция ответа на ping-запросы. В обоих случаях можно воспользоваться детальной проверкой с помощью утилит tracert (для Windows) и traceroute (для Linux).

    Обновлено Обновлено: 19.10.2021
    Опубликовано Опубликовано: 27.06.2016

    Тематические термины: Ping, Windows, Linux.

    Мы рассмотрим использование команды ping для Windows и, немного, для Linux.

    Параметры команды ping и их описание

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

    Общий синтаксис

    Независимо от системы, команду ping можно применять так:

    ping [опции] <имя сервера или IP-адрес>

    Windows

    Для просмотра в Windows также используйте команду ping /?

    Используются часто:

    Параметр Описание
    -t Команда будет отправлять запросы на проверку постоянно, пока ее не прервать клавишами Ctrl + C. Удобно, если сеть не работает и чтобы постоянно не проверять, появилась ли связь.
    -a Пытается определить имя узла через DNS.
    -n Задает определенное число попыток отправки запроса.
    -l Размер пакета. Используется для проверки стабильности сети, создания тестовой нагрузки и так далее.
    -f По умолчанию ping разрешает фрагментацию, то есть пакет может быть разбит на несколько для соответствия минимальному пропускаемому размеру (MTU). Данный флаг это запрещает. Используется для определения вышеупомянутого MTU.
    -i Задает срок жизни пакета (количество сетевых устройств, через которые может пройти сигнал). Может использоваться в случаях, когда количество оборудования слишком велико. Также можно определить его количества. 
    -w Устанавливает время ожидания. Применяется, если существуют проблемы производительности на сети или расстояние до узла очень большое.
    -S Позволяет выполнить проверку сети с определенного источника. Может быть использовано с узла с несколькими сетевыми адаптерами и отправкой запроса с определенного.
    -4 Использовать только IPv4.
    -6 Использовать только IPv6.

    Используются редко

    Параметр Описание
    -r Записывает маршрут для указанного числа прыжков.
    -s Задает метку времени для указанного числа прыжков.
    -j Задает свободный выбор маршрута по списку узлов.
    -k Задает жесткий выбор маршрута по списку узлов.
    -R Использует заголовок маршрута для проверки и обратного маршрута.

    Linux

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

    bash: ping: command not found

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

    а) для систем на базе deb (Debian, Ubuntu, Mint):

    apt install iputils-ping

    б) для систем на базе RPM (Rocky Linux, CentOS, Red Hat, Fedora):

    yum install iputils

    Готово, теперь можно пользоваться командой ping.

    Список ключей можно посмотреть так:

    ping -h

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

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

    ping yahoo.com

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

    Обмен пакетами с yahoo.com [206.190.36.45] с 32 байтами данных:
    Ответ от 206.190.36.45: число байт=32 время=191мс TTL=47
    Ответ от 206.190.36.45: число байт=32 время=191мс TTL=47

    Пример ответа, если узел недоступен:

    Обмен пакетами с yahoo.com [206.190.36.45] по с 32 байтами данных:
    Превышен интервал ожидания для запроса.
    Превышен интервал ожидания для запроса.

    * до удаленного узла нет сигнала. Возможно, существуют неполадки на сети.

    или

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

    * не удалось определить имя узла. Возможные неполадки: нет связи с DNS, не работает DNS, запрашиваемого имени узла не существует.

    В Linux при отсутствии ответа, мы ничего не увидим, но если нам нужно видеть неудачные попытки, то используем ping с опцией -O:

    ping -O 206.190.36.45

    Открытие порта для Ping

    Справедливо заметить, что не во всех случаях отсутствие ответа на ping означает, что удаленный узел недоступен. Администратор ресурса может намеренно отключить ответы на эхо-запросы.

    Также важно знать, что ping не использует конкретный номер порта. Чтобы открыть возможность пинга, необходимо либо найти соответствующую опцию (во многих домашних роутерах) или разрешить ICMP (Internet Control Message Protocol) на брандмауэре. Ну, или наоборот — чтобы закрыть возможность пинга, блокируем запросы ICMP.

    Проверка портов

    С помощью команды ping нельзя проверить открытость того или иного порта.

    Для этих целей используется команда telnet или программа, например, nmap.

    Дмитрий Моск — частный мастер

    Была ли полезна вам эта инструкция?

    Да            Нет

    Понравилась статья? Поделить с друзьями:
  • Как остановить таймер выключения компьютера windows 10
  • Как остановить защиту в windows 10
  • Как остановить средство ведения журнала ядра на windows 7
  • Как остановить службу центра обновления windows 7
  • Как остановить защитник windows 10 через командную строку