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. Давайте договоримся, что точкой А будет наш компьютер, а точкой Б — удаленный узел.

Index

ИМЯ
ОБЗОР
ОПИСАНИЕ
ОПЦИИ
ОПИСАНИЕ ПАКЕТОВ ICMP
ПОВТОРЯЮЩИЕСЯ И ПОВРЕЖДЁННЫЕ ПАКЕТЫ
ТЕСТИРОВАНИЕ НА РАЗЛИЧНЫХ ДАННЫХ
ВРЕМЯ АКТУАЛЬНОСТИ (TTL)
ИЗВЕСТНЫЕ ОШИБКИ
СМ. ТАКЖЕ
ИСТОРИЯ
БЕЗОПАСНОСТЬ
РАСПРОСТРАНЕНИЕ
ПЕРЕВОД

Ping и некоторые его параметры

«Для чего в команде ping используются опции Loose, Strict, Record, Timestamp и Verbose?»

— такой вопрос мне недавно встретился в вендорном экзамене. Они позволяют влиять на маршрутизацию ICMP пакетов и собирать информацию о транзитных L3-устройствах. Но занимаясь сетевыми технологиями уже достаточно давно, я почти никогда их не использовал.

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

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

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

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

За бортом остался ряд других опций (timeout, ToS и пр.), которыми лично я практически не пользуюсь.

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

Record (Record Route)

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

Но рано радоваться: максимальное количество записей равно девяти. Причём в них входят данные об IP-адресах устройств

в обе

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

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

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

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

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

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

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

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

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

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

R1#ping   
Protocol [ip]: 
Target IP address: 192.168.36.2
Repeat count [5]: 1
Datagram size [100]: 
Timeout in seconds [2]: 
Extended commands [n]: y
Source address or interface:
Type of service [0]: 
Set DF bit in IP header? [no]: 
Validate reply data? [no]: 
Data pattern [0xABCD]: 
Loose, Strict, Record, Timestamp, Verbose[none]: R
Number of hops [ 9 ]: 
Loose, Strict, Record, Timestamp, Verbose[RV]: 
Sweep range of sizes [n]: 
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.36.2, timeout is 2 seconds:
Packet sent with a source address of 192.168.20.1 
Packet has IP options:  Total option bytes= 39, padded length=40
 Record route: <*>
   (0.0.0.0)
   (0.0.0.0)
   (0.0.0.0)
   (0.0.0.0)
   (0.0.0.0)
   (0.0.0.0)
   (0.0.0.0)
   (0.0.0.0)
   (0.0.0.0)

Reply to request 0 (3 ms).  Received packet has options
 Total option bytes= 40, padded length=40
 Record route:
   (192.168.31.2)
   (192.168.32.2)
   (192.168.34.2)
   (192.168.35.2)
   (192.168.36.2)
   (192.168.35.1)
   (192.168.33.1)
   (192.168.31.1)
   (192.168.31.2) <*>
 End of list

Success rate is 100 percent (1/1), round-trip min/avg/max = 3/3/3 ms

Timestamp

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

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

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

Strict (Strict Source Route)

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

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

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

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

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

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

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

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

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

:/>  Как пинговать IP адрес - wikiHow

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

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

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

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

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

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

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

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

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

Loose (Loose Source Route)

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

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

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

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

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

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

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

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

Verbose

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


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

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

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

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

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

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

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

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

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

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

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

один IP-адрес  для взаимодействия с устройствами локальной сети, для этих устройств этот IP-адрес является адресом основного шлюза или шлюза по умолчанию, а второй IP-адрес используется для соединения с провайдерским роутером, его можно найти в разделе настроек WAN в роутере).

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

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

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

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

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

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

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

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

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

:/>  Научитесь использовать команды тестирования сети - Русские Блоги

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

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

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

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

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

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

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

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

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

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

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

Параметры

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

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

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

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

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

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

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

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

:/>  Как проверить пинг (ping) через командную строку на Windows 10, 7

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

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

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

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

Проверяем работу роутера и физических интерфейсов компьютера при помощи команды 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 мс, если наблюдается разброс по времени, то это тоже плохо, это означает, что есть проблема на участке между вашим ПК и домашним роутером. Если проблем нет, то в результате вы должны увидеть примерно такую картину.

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

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

Тогда делаем reset или сброс роутера к заводским настройкам. Когда вы купили и поставили роутер на нем были заводские настройки, затем вы его настроили или вам его кто-то настроил, reset возвращает роутер к тем конфигурациям, которые у него были прямо из коробки, то есть роутер нужно будет настроить заново.

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

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

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

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

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

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

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

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

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

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

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

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

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

Оставьте комментарий

Adblock
detector