Как проверить путь к ip адресу и компьютерный блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и разработке сайтов

Как проверить путь к ip адресу и компьютерный блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и разработке сайтов Хостинг

Главная » » Как проверить пинг через командную строку

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

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

Знакомая многим ситуация: компьютер включен, доступ в Интернет есть, но не открывается какой-то определенный сайт или сервер в сети. Например: не доступен игровой сервер или игра сильно тормозит при подключении к нему. Что делать? Ответ прост – проверка на пинг и трассировка! Другими словами можно проверить доступность сетевых ресурсов с помощью диагностических методов, самые распространённые из которых — утилиты Ping, Tracert/Traceroute и MTR/WinMTR. Давайте рассмотрим подробно каждую из данных утилит.

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

Как это работает? Команда Ping отправляет небольшие пакеты с данными на сервер, который надо проверить. В ОС Windows по умолчанию посылается серия из 4-х таких пакетов. В ОС Linux пакеты посылаются непрерывно, пока пользователь не прервёт операцию. Спустя некоторое время от сервера приходит ответ — в виде тех же пакетов, какие и были отправлены. Если число отправленных и полученных пакетов совпадает — это значит сервер «живой» и никаких проблем с его доступностью не наблюдается.

Содержание
  1. Как пропинговать сайт или сервер в Windows?
  2. Как проверить пинг до сервера в Linux?
  3. Командная строка в Windows 10 или Windows 7
  4. Проверка Ping через командную строку
  5. Результаты проверки Ping
  6. Про Linux за 5 минут | Что это или как финский студент перевернул мир?
  7. Для чего используется команда PING?
  8. Как работает команда PING?
  9. Можно ли использовать PING с прокси-сервером?
  10. Ping IPv6 адресов
  11. Ping конкретного порта
  12. Ping с выводом времени
  13. Ping всех устройств в указанной подсети
  14. Как завершить команду PING?
  15. Завершение работы команды по счетчику
  16. Где расположена утилита PING?
  17. Проверка задержки командой PING
  18. Поиск идеального значения MTU
  19. Ping на 2-ом уровне OSI (использование arping)
  20. Ping по имени узла
  21. Ping маршрута (traceroute)
  22. Запустить команду если ping вернул ошибку
  23. Установление размера пакета ping
  24. Отключение команды ping
  25. Заключение
  26. Назначение команды tracert или как определить маршрут прохождения пакета до узла
  27. Параметры команды tracert в Windows
  28. Примеры использования утилиты tracert для устранения проблем в сети
  29. Несколько советов о том, как читать и интерпретировать выводы результатов работы команды tracert
  30. Использование утилит MTR и WinMTR для диагностики сети
  31. Диагностика сетевой связности (ping, arp, traceroute)
  32. Команды tracert и traceroute
  33. Трассировка маршрута в Windows 11
  34. Как сделать трассировку в Linux
  35. Как проверить пинг через командную строку
  36. Открываем командную строку
  37. Как проверить пинг до сервера через командную строку
  38. Как проверить пинг интернет соединения
  39. Дополнительные агрунементы для пинга
  40. Видео инструкция
  41. Диагностика разрешения имен (nslookup, dig)
  42. Вам также может быть интересно

Как пропинговать сайт или сервер в Windows?

Ping – это консольная утилита, которая запускается с помощью командной строки. Она присутствует во всех версиях ОС Windows. Я буду показывать её работу на примере Windows 11.

Нажимаем правой кнопкой мыши на кнопку «Пуск» чтобы открылось дополнительное меню. Там надо выбрать вариант «Терминал»( в Windows 10 это «Командная строка»):

командная строка в windows 11

как пользоваться командой ping

Смотрим результат: отправлено было 4 пакета размером по 32 байта. Время прохождения каждого пакета составило в среднем 22 мс. Все отправленные пакеты дошли до сервера и вернулись обратно.

результаты пинга сервера

По умолчанию команда Ping в ОС Windows отправляет всего 4 пакета данных.

Чтобы отправить больше пакетов, можно задать их количество с помощью параметра –n. Пример для отправки 10 тестовых пакетов:

ping –n 10 yandex.ru

Результат будет таким:

как пинговать ip в сети

Как вариант, можно использовать команда ping с параметром «-t», чтобы пинговать сервер бесконечно, до принудительного прекращения задачи, как в Linux. Команда будет выглядеть так:

ping ya.ru -t

Пример выполнения команды пинг:

как запустить бесконечный пинг

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

превышен интервал ожидания для запроса

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

как запустить терминал в ubuntu

Запускаем терминал. На некоторых ОС Линкус значок терминала есть прямо на рабочем столе, а на каких-то надо открывать меню и запускать его оттуда. В KDE, например, через раздел меню Администрирование > Терминал.
В терминале вводим команду ping, адрес проверяемого ресурса и нажимаем клавишу «Enter».

ping testing linux

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

В Linux так же можно задавать нужные параметры с помощью аргументов, но они могут отличаться от аргументов в ОС Windows, которые я показывал выше. Например в Линуксе количество тестовых пакетов задаётся через агрумент «-c», а не через «-n». Для того, чтобы увидеть все доступные агрументы команды Пинг — введите вот такую команду:

аргументы команды ping

Как видите, аргументов очень много, что позволяет провести очень тщательную сетевую диагностику доступности удалённого узла сети

Проверка Ping через командную строку Windows 10 или Windows 7 – это отличный способ проверить стабильность соединения с каким-либо сервером или наличия подключения к Интернету как такового. Поскольку страницы в браузере могут не загружаться по разным причинам и подобная проблема не всегда говорит об отсутствии доступа к Интернету.

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

Командная строка в Windows 10 или Windows 7

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

На скриншотах внизу показано, как это выглядит в операционных системах Windows 10 и Windows 7.

Командная строка в Windows 10

Командная строка в Windows 7

Также командную строку можно запустить при помощи меню «». В этом случае нужно нажать комбинацию клавиш и в открывшемся меню ввести команду «».

Командная строка в меню Выполнить

Запуск через меню «» работает, как в Windows 10, так и в Windows 7.

Проверка Ping через командную строку

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

ping 8.8.8.8

пинг по ip адресу

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

ping google.com

пинг по домену

ping 8.8.8.8 -n 10

пинг с отправкой определенного количества пакетов

ping 8.8.8.8 -t

Обратите внимание, при использовании параметра «» операционная система Windows будет посылать ping-запросы до тех пор, пока пользователь не нажмет комбинацию клавиш или не закроет командную строку.

пинг без остановки

Кроме этого, у команды «» есть и другие параметры. Для того чтобы получить справку введите в командную строку «».

просмотр справки по команде пинг

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

Результаты проверки Ping

При выполнении проверки на пинг рядом с каждым отправленным пакетом отображается время его возврата в миллисекундах (мс). Это именно то, чтобы обычно называют «».

пинг для каждого пакета

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

статистика по пакетам

Ниже статистика о времени приема и передачи пакетов в миллисекундах (мс) или пинг.

статистика по пингу

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

Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.

Задайте вопрос в комментариях под статьей или на странице
«Задать вопрос»
и вы обязательно получите ответ.

Благодаря Linux, у нас есть очень много инструментов облегчающих администрирование и диагностику сети. В этом плане команда PING является одним из самых полезных инструментов для системных и сетевых администраторов.

Сама базовая возможность этой утилиты – определить доступен ли тот или иной хост. Тем не менее в этом материале мы приведем примеры расширенных возможностей этой команды в системе Linux.

PING!


Про Linux за 5 минут | Что это или как финский студент перевернул мир?

https://youtube.com/watch?v=t2iMS8V8v_U%3Fautoplay%3D1%26mute%3D1


Для чего используется команда PING?

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

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

Как видно, эта команда очень необходима для администрирования сети и серверов.


Как работает команда PING?

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

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

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

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

Синтаксис команды следующий:

ping [options] [destination]

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

  • -c: Позволяет указать количество пакетов для отправки.
  • -s: Позволяет изменять размер пакета по умолчанию.
  • -v: Отображает текущее состояние выполнения команды.
  • -w: Указывает в секундах время завершения команды.
  • -i: Позволяет указать интерфейс, с которого будут идти запросы.

Можно ли использовать PING с прокси-сервером?

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

Проблема в том, что команда PING требует прямого соединения между устройствами. Таким образом, команда Ping не может функционировать если перед ним стоит прокси-сервер.

Читайте также:  Мониторинг температуры процессора в Windows с помощью Zabbix: простое руководство

Как вариант, можно воспользоваться сайтами, которые предлагают команду Ping как услугу. С другой стороны, для решения некоторых задач с командой Ping, можно использовать команду curl. Также можно прибегнуть к помощи VPN, который спрячет ваш реальный IP.


Ping IPv6 адресов

По умолчанию, когда запускаем команду PING, мы используем IP версии 4. Однако, с появлением протокола IPv6, все чаще стали встречаться адреса такого формата.

Ядро Linux поддерживает IPv6 начиная с версии 2.2, так что все дистрибутивы Linux поддерживают этот протокол.

Базовый синтаксис таков:

$ ping -6 2001:4860:4860::8888

В старых версиях была команда ping6. В новых дистрибутивах её нет и весь функционал объединен с ping.

Как и при работе с IPv4, ключом –c можем указать число пакетов, для отправки, а ключ –i – определяет интерфейс для исходящих запросов.


Ping конкретного порта

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

Чтобы проверить доступность порта просто введите следующую команду:

telnet [host] [port]
telnet google.com 80

Пинг порта


Ping с выводом времени

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

Для этого достаточно прописать указанную ниже команду. Но вам придется установить пакет ccze.

ping [host] | xargs -n1 -i bash -c 'echo `date +%F\ %T`" {}"' | ccze

ccze

Как видно из скриншота, команда показывает дату и время отправки каждого пакета.


Ping всех устройств в указанной подсети

Командой Ping можно посылать сигнал всем хостам в сети или подсети. Для этого нужно запустить ping с ключом –b на широковещательный адрес, который заканчивается на 255. Например:

ping -b -c 4 192.168.1.255

-b

Итак, если хост назначения недоступен, значит либо там блокируются ICMP пакеты, либо есть проблемы с сетью или таблицей маршрутизации.


Как завершить команду PING?

По умолчанию, в системе Linux команда Ping непрерывно посылает пакета на хост. Но если нужная информация получена, то необходимо как-то прервать выполнение команды. Для этого просто нужно нажать комбинацию клавиш CTRL+C.

Завершить пинг

После этого команда немедленно остановится.


Завершение работы команды по счетчику

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

ping -c 10 [host]

Завершение по счетчику


Где расположена утилита PING?

В Unix-подобных системах таких, как Linux бинарные файлы обычно располагаются по пути

/usr/bin/

В этой папке можно найти все множество бинарных файлов, которые мы используем как команды в терминале. В других ОС семейства Linux, они могут быть расположены в:

/usr/sbin/

Проверить это можем командой ls:

$ ls /usr/bin | grep ping

grep ping

На скриншоте видно, что команда ping находится в папке

/usr/bin/

Другой метод, которым можно найти место расположения команд это which:

$ which ping

На выводе она даст следующую информацию:

/usr/bin/ping

Проверка задержки командой PING

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

Чтобы измерить задержку введи указанную команду и обратите внимание на ввыод:

ping -c 4 [host]
ping -c 4 192.168.1.1

Проверка задержки

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

rtt min/avg/max/mdev

Второе значение после знака равенства – это время задержки. В нашем случае он равен 6,798.

Задержка

С помощью этого показателя мы можем определить хосты, связь с которыми хуже и приять соответствующие меры.


Поиск идеального значения MTU

MTU (Maximum Transmission Unit) это максимальный размер пакета, который может быть передан по сети.

Сегодня, в целях безопасности, в сетях создаются препятствия для работы MTU. Но большинство локальных сетей на основе Ethernet использует MTU размером 1500 байт.

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

ping: local error: Message too long

Чтобы сделать это запустите следующую команду:

ping -M do -s [initial_value] [host]

MTU

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

1472

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

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


Ping на 2-ом уровне OSI (использование arping)

С другой стороны, можно использовать другую встроенную в Linux команду – arping. Эта утилита работает так же, как ping, но на втором – канальном уровне модели OSI.

Синтаксис команды следующий:

$ sudo arping [Ip_address]
$ sudo arping [Ip_address]
$ sudo arping 192.168.1.1

В результате получите что-то подобное:

arping

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

Отметим, что эта команда не предустановлена на системе Debian и производных.


Ping по имени узла

По умолчанию, команда ping посылает пакеты на узел назначения используя IP адрес или имя узла назначения. Также нужно отметить, что большинство реализаций утилиты ping на Linux не разрешают DNS в обратном направлении.

Например, если мы запустим команду ping, указав IP адрес, он вернёт только IP узла. И наоборот, если параметром передадим имя узла, то команда вернет его IP адрес.
Посмотрите вывод введя команду ниже:

$ ping google.com

Ping маршрута (traceroute)

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

Команда tracert (Windows) или traceroute работают аналогично ping. Преимуществом этой команды является то, что он показывает весь путь следования пакета от источника до узла назначения.

В принципе traceroute посылает тот же ICMP пакет, что и Ping. Но в случае traceroute, в отличии от ping начально значение TTL пакета выставляется равным единице. Пакет доходит до первого узла по пути к узлу назначения. Устройство уменьшает TTL на одну единицу и если получается нуль, то возвращает сообщение об ошибке истечения времени пакета. В сообщение так же содержится IP адрес и имя хоста. Отправитель получает данное сообщение. Если оно не от узла назначения, то посылает второй пакет с TTL на один больше предыдущего. И так до тех пор, пока не получит ответ от узла назначения.
Для получения пути нужно ввести команду:

traceroute [hostname/IPaddres]

traceroute


Запустить команду если ping вернул ошибку

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

#! /bin/bash
ping -c 1 [host]
If [ $? -eq 0]; then #Your_command_here
Fi

Установление размера пакета ping

По умолчанию, размер пакетов ICMP равен 56 байтам. Это позволяет не влиять на работу сети во время проверки. Но при необходимости можно изменять это значение. Для этого достаточно запустить команду ping с ключом –s и требуемым размером. Например:

ping -s [packet_size] hostname/IP

Если нужно установить значение пакета равным 100 байтам, нужно прописать команду ниже:

ping -s 100 192.168.1.1

-s


Отключение команды ping

Если вы обслуживаете сеть, то вам может быть необходимо отключить ответ на ping запросы в любое время. Это можно сделать как временно, так и постоянно, в зависимости от ваших нужд.
Для временного отключения команды ping нужно ввести команду ниже от имени root-а:

$ su
$ echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

Отключение пинга

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

/etc/sysctl.conf

и добавить следующую строку:

$ nano /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1

sysctl.conf

Сохраните файл и, для применения изменений введите команду:

$ sysctl -p

sysctl -p


Заключение

В этом материале мы рассмотрели, как команда ping работает в системе Linux. Ping одна из самых легких команд. Она позволяет лицам, ответственным в обеспечении нормально работы сети, выявлять проблемы и устранять их.



Рекомендуем

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

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

Назначение команды tracert или как определить маршрут прохождения пакета до узла

Tracert – это небольшая системная утилита вашей операционной системы, которая позволяет сделать трассировку маршрута до заданного узла в локальной сети или сети Интернет. В операционных системах Windows tracert – это стандартная утилита, которая устанавливается вместе с операционной системой, то есть вам не нужно ничего устанавливать, чтобы воспользоваться командной tracert. Исполняемый файл tracert.exe в Windows 10 находится по следующему пути: C:\Windows\System32.

Трассировка маршрута при помощи команды Tracert до IP-адреса Яндекс

Трассировка маршрута при помощи утилиты tracert до сервера Google по доменному имени

Трассировка маршрута при помощи утилиты tracert до сервера Google по доменному имени

Стоит сказать пару слов о выводе, который мы получили. Каждая строка вывода команды tracert пронумерована, каждая такая строка называется шагом, хопом или прыжком. По умолчанию tracert в Windows отправляет три запроса на каждый хоп и получает от этого хопа ответы, если ответ не получен, то в первых трех столбцах мы видим символ «*», если ответ получен, то в первых трех столбцах указывается время прохождения пакета, а в четвертом столбце Windows дает нам подсказку о причинах, по которым удаленный узел нам не ответил или его адрес, если узел ответил.

Для диагностики сетевых ресурсов утилита tracert использует специальный протокол, который называется ICMP (Internet Control Message Protocol — протокол межсетевых управляющих сообщений), есть еще команда traceroute (эта утилита обычно входит в стандартные дистрибутивы Linux, например, эта утилита присутствует в Linux Mint), которая по умолчанию использует протокол UDP, для ее использвания вам точно также потребуется эмулятор терминала. ICMP-сообщение, которое посылает наш компьютер, запаковывается в IP-пакет (здесь вы можете прочитать более подробно про инкапсуляцию данных в компьютерных сетях), у которого есть специальное значение TTL (time to live или время жизни), для понимания работы tracert это важно, поскольку эта команда при каждой отправке пакета увеличивает TTL на единицу, а первый отправленный пакет в сеть имеет значение, равное единице, при этом по умолчанию tracert отправляет три пакета с одним и тем же TTL, то есть в ответ мы должны получить три пакета от удаленного узла (самые основы взаимодействия двух узлов в компьютерной сети описаны здесь, для реализации схемы использовалась Cisco Packet Tracer).

Читайте также:  Заработок на хостингах: Топ 5 лучших партнерских программ

При использовании утилиты tracert не стоит паниковать в тех ситуациях, когда вы видите звездочки вместо времени ответа удаленного узла, дело в том, что ICMP-протокол иногда используется для сетевых атак (например, DDoS) и некоторые сетевые инженеры и системные администраторы предпочитают настраивать свои устройства таким образом, чтобы они не отвечали на ICMP-запросы. Иногда бывает так, что конечный узел не отвечает на ICMP-запросы, но на самом деле он корректно работает и выполняет свои функции, для проверки доступности таких узлов вам не поможет команда Ping, так как она тоже использует ICMP, но может помочь команда traceroute или онлайн сервисы по проверки доступно сайтов и серверов в Интернете.

В качестве примера давайте сделаем трассировку до сайта microsoft.com, сервера этой компании не отвечают на ICMP-запросы. Трассировка показана на рисунке ниже.

Трассировка до сервера Microsoft, который не отвечает на ICMP-запросы

Трассировка до сервера Microsoft, который не отвечает на ICMP-запросы

На момент проверки этого ресурса он был доступен, но результаты работы tracert нас немного обманывают, по ним видно, что мы якобы не можем добраться до сервера Майкрософт, поэтому для корректной диагностики удаленных ресурсов нужно иметь целый арсенал сетевых утилит, ну или как минимум браузер и умение гуглить. Еще по трассировки видно, что tracert в Windows по умолчанию использует максимальное значение TTL равное 30, протокол IPv4 позволяет задавать максимальное значение TTL 255, но на самом деле это очень много, чтобы остановить выполнение команды tracert воспользуйтесь сочетание клавиш ctrl+c.

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

Любая команда в командной строке Windows имеет небольшой справочник (команда help — справочник командной строки Windows), в котором указаны допустимые параметры, в том числе и команда tracert, чтобы увидеть эти параметры, в командной строке нужно написать: tracert /? или tracert /h.

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

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

Как я уже говорил, утилита tracert может принимать несколько параметров, один из них мы уже рассмотрели – адрес удаленного узла в сети, этот параметр обязательный, давайте разберемся с другими параметрами этой утилиты и посмотрим, как их комбинировать и что можно в результате получить. Для начала посмотрим на параметр –d, на мой взгляд он самый непонятный, что означает это – без разрешения в имена узлов. Всё будет ясно, когда мы посмотрим на вывод команды tracert с параметром –d.

Как работает утилита tracert с параметром -d в Windows

Как работает утилита tracert с параметром -d в Windows

Всё очевидно: «без разрешения в имена узлов» означает, что в выводе будут отсутствовать имена хостов, через которые проходит IP-пакет, это бывает удобно, некоторые провайдеры и дата-центры любят задавать длинные имена и вывод становится неудобно читать.

Мы уже делали трассировку до сервера Майкрософт, давайте теперь повторим ее, но ограничим количество хопов до 10 и не будем выводить имена хостов, для этого нужно будет скомбинировать параметры –d и –h. Для команды tracert в Windows последовательность параметров в данном случае не имеет значение.

Как ограничить количество хопов для tracert в Windows или параметр –h

Как ограничить количество хопов для tracert в Windows или параметр –h

Еще одни полезным параметром утилиты tracert является параметр –w, он позволяет задать команде tracert максимальное время ожидания ICMP-ответа от удаленного узла, значение этому параметру задается в миллисекундах, по умолчанию в Windows это значение равно 4000 мс, это означает, что команда будет ждать ответа от удаленного узла не больше 4 секунд. Пример использование tracert с параметром –w: tracert –w 1000 8.8.8.8. В данном случае мы сказали команде, что не стоит ждать ответ дольше одной секунды.

К сожалению, у меня нет возможности продемонстрировать работу команды tracert с параметрами для протокола IPv6, сюда входят такие параметры как: -R для трассировки пути, -S для указания IPv6 адреса источника. Параметры -6 и -4 будут полезны, если в своей сети вы используете два протокола: IPv6 и IPv4. Но чтобы уж совсем не оставаться без примеров, обратите внимание на листинг ниже.

Здесь используется параметр -6 при трассировке узла ipv6.google.com. В общем-то с примерами использования утилиты tracert можно завершить, как видите, здесь нет ничего сложного. Гораздо сложнее интерпретировать и анализировать выводы этой команды.

Несколько советов о том, как читать и интерпретировать выводы результатов работы команды tracert

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

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

Когда вы используете tracert или traceroute не забывайте, что маршрутизатор, который будет отвечать на ваши запросы, обрабатывает эти запросы несколько иначе, чем полезный сетевой трафик, который проходит через него транзитом. Мы с вами делали трассировки до узлов Яндекса, Гугла и Майкрософта, мы получали определенные задержки на хопах, но при трассировке мы видим только маршрут «туда», обратный маршрут с вероятностью 90% будет отличаться, но у вас нет возможности сделать трассировку до себя с указанных серверов. То есть получается, что мы видим маршрут «туда», но получаем усредненное время, которое получается путем сложения времени, которое будет затрачено на то, чтобы добраться туда с временем, которое будет затрачено на то, чтобы добраться обратно другим маршрутом (еще раз повторю, что маршрут «обратно» не обязательно должен совпадать и очень часто не совпадет с маршрутом «обратно»), несовпадение маршрутов главным образом связано с коммерческой и юридической сферой взаимодействия провайдеров и других крупных игроков интернета.

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

Команда tracert только на первый взгляд кажется простой, на самом деле это не так, я сейчас даже не говорю про простых пользователей, многие админы умеют пользоваться tracert на уровне обезьяны и не хотят это исправлять, иначе не объяснишь их восприятие звездочек в выводе («это потери, ужас, мрак, хостер, провайдер, дата-центр, за что я плачу тебе 100 рублей?» обычно именно такие ребята поднимают поросячий визг из-за своей некомпетентности в вопросе, потому что те кто может платить больше, позволяют себе нанимать более компетентных людей, хотя это и не всегда так), например, вот так:

Если вы посчитали первый ответ потерей, то вам нужно изучать принцип работы tracert, а также помнить, что сетевое оборудование можно настраивать, в том числе и на работу с ICMP, а может это не потери, а роутер настроен таким образом, чтобы игнорировать часть запросов?

Tracert прекрасно справляется со своей задачей – она отображает путь, по которому проходит IP-пакет, а также время ответа транзитных роутеров/маршрутизаторов, но при помощи данной утилиты невозможно точно оценить потери и нельзя с уверенностью сказать – на каком участке сети потери происходят, чтобы оценить потери в компьютерной сети (здесь можно почитать про основные характеристики компьютерной сети), лучше воспользоваться стандартной утилитой Windows, которая называется pathping, либо более удобной программой WinMTR или mtr в операционных системах семейства Linux.

Итак, мы разобрались с использованием команды tracert в Windows и ее параметрами, посмотрели примеры трассировок, которые нам выводила утилита tracert, но главное нужно сделать вывод о том, что утилита tracert не такая простая, как кажется на первый взгляд, и чтобы ее правильно использовать, нужно иметь представление о том, как вообще работают компьютерные сети.
К сожалению, об этом многие забывают, если вас это не убедило, то представьте, что вы пришли к доктору на обследование, который в совершенстве умеет пользоваться своими докторскими инструментами: он знает, что стетоскоп нужно вставлять в уши, прикладывать другой его конец к груди и спине пациента, говорит дышите, не дышите, но этот доктор совершенно не знает ничего о том, как работает человеческое тело, он не понимает, что он слышит в своём стетоскопе и в конце концов поставит неверный диагноз. Аналогичная ситуация и с командой tracert, которой проще пользоваться, чем стетоскопом.

Использование утилит MTR и WinMTR для диагностики сети

Хочу рассказать о ещё одной очень полезной для диагностики сетевых проблем утилите – MTR(My traceroute). Она доступна во всех дистрибутивах Linux и сочетает в себе функционал двух перечисленных выше команд: Ping и Traceroute. Как Traceroute она выводит полную трассировку маршрута, который проходят сетевые пакеты до нужного узла. Кроме этого, в режиме реального времени, ведётся пинг до каждого из промежуточных узлов для определения время отклика информации о потерях пакетов на каждом шаге.
Запускается утилита MTR всё так же из терминала командой mtr. Пример:

Результат получился такой:

mtr утилита

Отправка тестовых пакетов будет идти бесконечно. Чтобы остановить диагностику — нажмите комбинацию клавиш Ctrl+C.

В моём примере результат показывает, что несмотря на наличие технического узла, который не отзывается, конечный сервер доступен, а все отправленные пакеты (см. колонку Snt) проходят до конечного узла. При этом процент потерь пакетов (см. колонку Loss) равен нулю. Всё отлично!

Используя аргумент -r при вводе команды MTR, Вы  получите результат диагностики виде отчета. Информация будет выведена в консоль Linux.

Трассировка WinMTR в Windows 11

Читайте также:  Устранение внутренней ошибки: простые решения, которые стоит попробовать еще раз

winmtr как пользоваться

Нажимаем кнопку «Start» и запускаем диагностику. Спустя пару минут смотрим результат.

Что удобно, в этой утилите можно полученные результаты не только скопировать в буфер обмена, но и сразу экспортировать в текстовом или HTML-формате, чтобы потом отправить, например, в техподдержку провайдера.

Диагностика сетевой связности (ping, arp, traceroute)

Проверка настроек сетевого интерфейса
Скриншот №1. Проверки настроек сетевого интерфейса

Теперь проверим, указан ли шлюз по умолчанию. Команды ip route или route покажут имеющиеся маршруты:

Проверка маршрута
Скриншот №2. Проверка маршрута

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

Синтаксис команды ping IP/имя опции:

Синтаксис команды
Скриншот №3. Синтаксис команды

В данном случае видим, что на оба сетевых пакета, отправленных на адрес нашего шлюза по умолчанию, получены ответы, потерь нет. Это значит, что на уровне локальной сети со связностью все в порядке. Помимо количества полученных/потерянных сетевых пакетов мы можем увидеть время, которое было затрачено на прохождение запроса и ответа – параметр RTT (Round Trip Time). Этот параметр может быть очень важен при диагностике проблем, связанных с нестабильностью связи и скоростью соединения.

Часто используемые параметры:

  • ping –c количество — указать количество пакетов, которое будет отправлено адресату (по умолчанию пакеты отправляются до тех пор, пока пользователь не прервет выполнение команды. Этот режим можно использовать, чтобы проверить стабильность сетевого соединения. Если параметр RTT будет сильно изменяться в ходе проверки, значит где-то на протяжении маршрута есть проблема);
  • ping –s количество — указать размер пакета в байтах. По умолчанию проверка производится малыми пакетами. Чтобы проверить работу сетевых устройств с пакетами большего размера, можно использовать этот параметр;
  • ping –I интерфейс — указать сетевой интерфейс, с которого будет отправлен запрос (актуально при наличии нескольких сетевых интерфейсов и необходимости проверить прохождение пакетов по конкретному сетевому маршруту).

В случае, если при использовании команды ping пакеты от шлюза (или другого хоста, находящегося в одной локальной сети с сервером-отправителем) в ответ не приходят, стоит проверить сетевую связность на уровне Ethernet. Здесь для коммуникации между устройствами используются так называемые MAC-адреса сетевых интерфейсов. За разрешение Ethernet-адресов отвечает протокол ARP (Address Resolution Protocol) и с помощью одноименной утилиты мы можем проверить корректность работы на этом уровне. Запустим команду arp –n и проверим результат:

Команда arp –n
Скриншот №4. Команда arp –n

Часто используемые параметры:

  • arp –n — вывод содержимого локального arp-кэша в числовом формате. Без этой опции будет предпринята попытка определить символические имена хостов;
  • arp –d адрес — удаление указанного адреса из кэша. Это может быть полезно для проверки корректности разрешения адреса. Чтобы убедиться, что в настоящий момент времени адрес разрешается корректно, можно удалить его из кэша и снова запустить ping. Если все работает правильно, адрес снова появится в кэше.

Если все предыдущие шаги завершены корректно, проверяем работу маршрутизатора — запускаем ping до сервера за пределами нашей сети, например, 8.8.8.8 (DNS-сервис от Google). Если все работает корректно, получаем результат:

Проверка работы маршрутизатора
Скриншот №5. Проверка работы маршрутизатора

В случае проблем на этом шаге, нам может помочь утилита traceroute, которая используя ту же логику запросов и ответов помогает увидеть маршрут, по которому движутся сетевые пакеты. Запускаем traceroute 8.8.8.8 –n и изучаем вывод программы:

Утилита traceroute
Скриншот №6. Утилита traceroute

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

Часто используемые опции:

  • traceroute –n — вывод результата в числовом формате вместо символических имен промежуточных узлов;
  • traceroute –I — использование ICMP-протокола при отслеживании маршрута. По умолчанию используются UDP-датаграммы;
  • traceroute –s адрес— указать адрес источника для исходящего сетевого пакета;
  • traceroute –i интерфейс— указать сетевой интерфейс, с которого будут отправляться пакеты.

Команды tracert и traceroute

Трассировка — еще один хороший метод диагностики связности с удалённым сервером. Смысл тут в том, что во время трассировки тоже выполняется отправка пакетов тестовых данных до сервера. Главное отличие от пинга заключается в том, что трассировка дает возможность увидеть все промежуточные узлы, через которые проходят пакеты от Вашего ПК и до конечного хоста.

Трассировка маршрута в Windows 11

В операционной системе Windows 11, а так же практически всех предыдущих версиях – Windows 10 и старше — трассировка маршрута до сетевого ресурса выполняется с помощью интегрированной в командную оболочку утилиты tracert.

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

Так мы запустим трассировку от нашего ПК до сервера Яндекс. Пример:

tracert windows 11

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

Каждая строка в трассировке — это промежуточный узел ( как правило, маршрутизатор). Эти узлы принято называть прыжками или «хопами».

В моём случае от домашнего компьютера до сайта yandex.ru совершено 7 хопов, пройдя через 5 промежуточных узлов. На каждом из прыжков указывается время, за которое тестовый пакет дошёл до этого узла и вернулся обратно.

Теперь сделаем ещё одну трассировку — google.com. И вот тут в результатах у нас появится очень интересный момент:

tracert команда виндовс проверка

А именно строчка со «звёздочками». Что они означают? Многие новички этого пугаются и считают что это сетевая проблема. Это не совсем так! «Звёздочки» говорят о том, что на данном хопе ответ от сервера не получен. Проблема ли это? В этом случае — нет. Это технический узел и на пользовательские запросы он не отвечает.

Проблема была бы в том случае, если после какого-то из хопов все последующие хопы заканчивались бы звёздочками, а сама трассировка закончилась бы ничем. Вот в этом случае надо искать причину. Чаще всего она на том узле, который ответил последним. Но это не точно)))!

Как сделать трассировку в Linux

В операционных система семейства Linux тоже можно сделать трассировку. Правда там команда несколько отличается: это уже не tracert — трассировку выполняет утилита traceroute. Запускается она точно так же, как и пинг — из консоли.

В некоторых дистрибутивах утилита traceroute по умолчанию не установлена. Потому надо её установить. В Ubuntu b Debian это делается командой:
$ sudo apt install traceroute
В RHEL и CentOS — командой:
$ yum install traceroute -y

В остальном, использование данной утилиты ничем особо не отличается от того, как мы это делали в Windows 11. Для примера сделаем трассировку до Яндекса. Команда:

traceroute команда linux

Как можно заметить, результат трассировки маршрута выдаётся так же по хопам. Если какой-то узел не ответил — помечается «звёздочками».

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

09.04.2019

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

Тестирование сети (инструмент PING)

Открываем командную строку

Для проверки связи с сетевым устройством (рабочей станцией, сервером и т.п.) необходимо открыть командную строку (найти ее можно в меню «Пуск»->Все программы->Стандартные). Либо нажимаем сочетание клавиш Win+R и вводим CMD

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

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

Как проверить путь к ip адресу и компьютерный блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и разработке сайтов

В командной строке введите команду:

ping IP_адрес (например, ping 192.168.1.1)

<img data-flat-attr="img" src="https://minterese.ru/wp-content/uploads/img/Ping_03.jpg"

Как проверить пинг интернет соединения

Для пинга интернет соединения вводим в командную строку либо адрес сайта, либо его ip: ping site.ru. Например, для пинга сайта Яндекса нужно ввести команду ping yandex.ru

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

Изучаем цифры потерянных пакетов, в идеале они должны стремиться к нулю. Вместо yandex.ru можно вводить любой сайт, или IP адрес. Если есть ответ от сервера — значит сайт и интернет у вас работают.

Дополнительные агрунементы для пинга

Команду PING можно задавать с дополнительными аргументами, которые позволят вам более тонко настроить тест. Например, команда ping –t IP_адрес будет производить «пингование» до тех пор, пока пользователь не остановит тест.

Полный список доступных аргументов и их значения можно посмотреть, введя в командной строке команду: ping /?

Как проверить путь к ip адресу и компьютерный блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и разработке сайтов

Видео инструкция


Диагностика разрешения имен (nslookup, dig)

Способы выяснения какой DNS-сервер использует наш сервер различаются в зависимости от используемой версии и дистрибутива ОС Linux. Например, если ОС используется Network Manager для управления сетевыми интерфейсами (CentOS, RedHat и др.), может помочь вывод команды nmcli:

Команда nmcli
Скриншот №7. Команда nmcli
Команда systemd-resolve --status
Скриншот №8. Команда systemd-resolve –status

Используемый сервер также будет указан в настройках интерфейса, в разделе DNS Servers. В более старых версиях Ubuntu потребуется проверить содержимое файлов /etc/resolve.conf и /etc/network/interfaces. Если сервер не указан, воспользуйтесь статьей для ОС Ubuntu 18.04 или CentOS, чтобы скорректировать настройки.

Проверить работу сервиса разрешения имен нам помогут утилиты nslookup или dig. Функционально они почти идентичны: G-вывод утилиты dig содержит больше диагностической информации и гибко регулируется, но это далеко не всегда нужно. Поэтому используйте ту утилиту, которая удобна в конкретной ситуации. Если эти команды недоступны, потребуется доставить пакеты на CentOS/RedHat:

yum install bind-utils

sudo apt install dnsutils

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

Тестовые запросы
Скриншот №9. Тестовые запросы
Подтверждение корректной работы
Скриншот №10. Подтверждение корректной работы

Аналогичный запрос утилитой nslookup выдает более компактный вывод, но вся нужная сейчас информация в нем присутствует.

Отправка тестового запроса 1
Скриншот №11. Отправка тестового запроса 1

nslookup ya.ru 8.8.8.8

Отправка тестового запроса 2
Скриншот №12. Отправка тестового запроса 2

Если имена разрешаются публичным DNS-сервером корректно, а установленным по умолчанию в ОС нет, вероятно, есть проблема в работе этого DNS-сервера. Временным решением данной проблемы может быть использование публичного DNS-сервера в качестве сервера для разрешения имен в операционной системе. В том случае, если разрешение имен не работает ни через локальный, ни через публичный DNS сервер — стоит проверить не блокируют ли правила файрвола отправку на удаленный порт 53 TCP/UDP пакетов (именно на этом порту DNS-серверы принимают запросы).

Часто используемые параметры:

  • nslookup имя сервер — разрешить доменное имя, используя альтернативный сервер;
  • nslookup –type=тип имя — получить запись указанного типа для доменного имени (например, nslookup -type=mx ya.ru – получить MX-записи для домена ya.ru);
  • dig @сервер имя — разрешить доменное имя, используя альтернативный сервер;
  • dig имя тип — получить запись указанного типа для доменного имени (например, dig ya.ru mx — получить MX-записи для домена ya.ru).

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

Вам также может быть интересно

Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

Как проверить путь к ip адресу и компьютерный блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и разработке сайтов

ООО «ИТГЛОБАЛКОМ ЛАБС»

Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

Как проверить путь к ip адресу и компьютерный блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и разработке сайтов

ООО «ИТГЛОБАЛКОМ ЛАБС»

Оцените статью
Хостинги