Как запустить трассировку в Windows

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

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

В этой статье я расскажу вам, как правильно использовать команду Traceroute в Windows.

Основы команды traceroute

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

Как и Ping, команды Traceroute или Tracert также выполняются на третьем уровне модели OSI. Он отправляет пакеты запросов ICMP на узел назначения. Основное отличие состоит в том, что он не только указывает, доступен ли сервер, но и отображает точный маршрут.

Трассировка использует Время жизни (TTL) значения, которые уменьшаются (на 1) каждый раз, когда пакеты достигают прыжка. Когда значение равно 0, этот маршрутизатор/шлюз отвечает ответным пакетом ICMP.

работа трассировки Работа Traceroute при наличии трех прыжков на пути к месту назначения

Давайте разберемся в этом на простом примере. Предположим, вы пытаетесь отследить маршрут нашего сайта TechNewsToday. Как только вы выполните команду Traceroute, три ICMP-пакета с вашего устройства пересылаются на наш сервер с TTL = 1.

Как только он достигает первого прыжка, значение TTL уменьшается на 1 (теперь TTL = 0) и отвечает «TTL превышен” сообщение. Затем на вашем устройстве отобразится время приема-передачи (в мс) каждого пакета вместе с IP-адрес/имя хоста прыжка.

С указанным IP-адресом он повторно отправляет пакеты ICMP с TTL = 2. Значение снова уменьшается на 1 (теперь TTL = 1), и пакеты пересылаются на сервер назначения.

После того, как сообщение запроса попадает на второй переход, значение снова уменьшается на 1 (теперь TTL = 0). Как и ранее, этот маршрутизатор отвечает вашему исходному устройству сообщением «TTL превышен” сообщение. Процесс повторяется до тех пор, пока не будет достигнут конечный пункт назначения. По пути он продолжает отображать время прохождения туда и обратно и IP-адрес каждого прыжка.

Анализ ttl захвата Wireshark ICMP Захват Wireshark: Анализ TTL после выполнения команды Traceroute

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

Как запустить команду traceroute?

Чтобы определить маршрут пакетов ICMP-запросов от исходного устройства к целевому, вам необходимо выполнить команду tracert. Синтаксис одинаков как для командной строки, так и для Powershell.

Синтаксис: tracert <переключатель> <целевой IP-адрес или имя хоста>

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

Переключатель/опция трассировкиФункция
Отменяет поиск DNS (отображает только IP-адрес)
-h <максимальное количество переходов>Позволяет изменить максимальное количество переходов для достижения пункта назначения
-j <список хостов>В зависимости от указанных хостов (макс. = 9) сообщения запроса ICMP будут использовать свободный исходный маршрут (только при использовании адресов IPv4).
-w <время>В зависимости от указанного времени (в мс) ваше устройство ожидает ответного сообщения ICMP (если ответа нет, отображается *)
Отслеживает путь туда и обратно (только для адресов IPv6)
-S <исходный адрес>Ручное указание исходного адреса (только для IPv6-адресов)
-4Принудительно использовать адрес IPv4 для отслеживания маршрута
-6Принудительно использовать адрес IPv6 для отслеживания маршрута
/?Выполняет команду справки для Tracert

Различные переключатели Traert в Windows

Для демонстрации я собираюсь проследить маршрут нашего сайта TechNewsToday.

Для этого мне нужно открыть командную строку и выполнить команду tracert technewstoday.com.

Вывод команды трассировки Вывод команды трассировки

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

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

Следующие три столбца выводят время приема-передачи (в миллисекундах) каждого пакета данных. Что ж, RTT — это время, которое потребовалось пакету, чтобы совершить прыжок и вернуться обратно. Обратите внимание, что время увеличивается с каждым шагом. Объяснение этому довольно простое: чем дальше переход, тем больше времени требуется ICMP-запросам для достижения и возврата.

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

Как указано в таблице выше, вы можете выполнить команду tracert -d technewstoday.com, чтобы отбросить имена хостов. Этот перечисляет только IP-адреса каждого перехода на маршруте (от исходного устройства до TechNewsToday).

увеличить максимальное количество прыжков Увеличение максимального количества переходов с помощью ключа -h

Аналогичным образом вы можете выполнить команду tracert -h <номер> <назначение> (например, tracert -h 50 technewstoday.com), чтобы увеличить количество максимальных прыжков для поиска пункта назначения. Я рекомендую запускать эту команду, если счетчик переходов достигает 30, так как в таких случаях пакеты запросов ICMP отбрасываются, не достигая сервера назначения.

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

Дополнительный совет

Хотя та же команда отлично работает в окне Windows Powershell, вот альтернативный командлет для запуска traceroute:
Test-netconnection -traceroute <целевой IP/имя хоста>

трассировка в Windows PowerShell Выполнение трассировки в Windows Powershell

Например, если я запускаю Test-netconnection -traceroute technewstoday.com, для загрузки следующего вывода требуется несколько секунд:

  • Имя компьютера: Отображает имя хоста пункта назначения (то же самое, что вы ввели в )
  • Удаленный адрес: Отображает назначенный IP-адрес
  • Псевдоним интерфейса: Имя вашего адаптера
  • Адрес источника: IP-адрес, назначенный вашему устройству
  • Пинг успешно выполнен: Отображает логическое значение (True, если проверка связи прошла успешно, и False, если нет)
  • PingReplyDetails (RTT): Отображает среднее время приема-передачи
  • Маршрут трассировки: Отображает IP-адреса, связанные с каждым переходом (максимум = 30)

Устранение неполадок с сетью с помощью traceroute

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

астерик при запуске команды tracert - 1 ‘*’ при выполнении команды Tracert

В большинстве случаев вы заметите “*” символ в столбце пакеты. Это просто указывает на потерю пакета и обычно происходит, когда переход (маршрутизатор) на пути не отвечает на сообщение запроса ICMP.

время ожидания запроса истекло, ошибка tracert Ошибка «Время ожидания запроса истекло» при выполнении команды Tracert

Если во всех трех пакетах отображается символ «*», за ним следует “Истекло время запроса” ошибка. Если это произойдет, у вас может быть общее представление о том, что есть проблема с этим конкретным маршрутизатором или связанным с ним соединением.

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

Узел назначения tracert недоступенУзел назначения недоступен’ ошибка при выполнении команды Tracert

Если пингуемое устройство/сервер недоступно или есть проблема, связанная с IP, команда Tracert может отобразить “Узел назначения недоступен”. Следуйте этому полному руководству, которое должно помочь решить эту проблему.

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

высокая задержка только в одном пакете Высокая задержка только в одном пакете ICMP (9-й переход)

Например, если пакеты в какой-то момент отображают 47 мс, 46 мс и 45 мс, в этом нет ничего плохого. Но если вы видите 270 мс, 70 мс и 70 мс, теперь вы можете заметить, что с этим переходом возникла какая-то проблема.

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

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

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *