Traceroute command and its options – ClouDNS Blog

Предназначение Traceroute и Tracert

Команда Traceert используется в GNU/Linux, Cisco и macOS для отслеживания передачи пакетов. Пакеты данных, передаваемые по сети от адресата к пользователю, проходят через узлы. Транзитные узлы – это узлы, которые не являются целями.

Допустим, вы открываете браузер своего компьютера и вводите URL веб-страницы, которую хотите просмотреть. Запрос от браузера проходит от маршрутизатора к маршрутизатору и так далее, пока не достигнет целевого узла. Каждый маршрутизатор или любое промежуточное место называется на сленге системных администраторов “хопом” (от слова hop – прыжок). Поскольку ответы ICMP могут задерживаться или вообще теряться, в настройках утилиты обычно указывается несколько попыток.

Кроме того, количество ICMP-ответов, которые могут быть отправлены с промежуточных узлов, не ограничено. Из-за этого Tracert не может определить проблемы в сети.

Механизм трассировки отличается совсем немного. Если traceroute использует порт на узле назначения, то Tracert поступает наоборот и не указывает порт.

Механизм работы трассировки сети

Время жизни IP-пакета определяется системным параметром TTL Time to believe. Максимальное количество шагов трассировки задается восьмибитным полем заголовка IP. Если пакет зацикливается в сети, этот параметр неэффективен. Эта ситуация изначально не учитывается при проектировании системы маршрутизации для самих устройств или даже при простом зацикливании трафика между устройствами. TTL=255.

Tracert отправляет первый запрос с параметром TTL = 1 в начале трассировки. Значение TTL уменьшается на 1, поскольку первый хоп, получивший сообщение, не является целевым. Tracert отправляет ICMP-сообщение с подробной информацией о том, почему пакет был отброшен, источнику одновременно с обнулением TTL.

Первый маршрутизатор снова уменьшает параметр TTL транзитного пакета на единицу, когда Tracert посылает новый запрос с TTL = 2, после чего данные отправляются во второй хоп. Помимо уменьшения TTL на единицу и возврата ICMP-сообщения источнику, второй хоп анализирует полученные данные.

Формат командной строки

Утилита обычно называется:

tracert [-d] [-h глубина трассировки] [-j перечень узлов] [-w таймаут] [-R] [-S адрес источника эхо-запроса] [-4] [-6] конечное_Имя

Параметры командной строки

Пример трассировки

Рассмотрим пример трассировки. Мы можем использовать утилиту обмена пакетами ping и понаблюдать, как она отвечает при подключении к удаленным хостам, чтобы определить, доступен ли удаленный хост. Первый хост ответит, когда TTL будет установлен на 1, а второй сервер ответит, когда TTL будет установлен на 2.

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

Запуск в Linux

Переключатель -I должен использоваться в UNIX/Linux для запуска режима трассировки по протоколу ICMP. В других ситуациях трассировку может начать любой.

Основные обоснования для контроля трассировки Linux

Проблема с файрволами

Traceroute работает не только через ICMP. Однако неопытные системные администраторы часто изменяют конфигурацию брандмауэра по умолчанию, чтобы добиться функционального Traceroute ping.

Альтернативные инструменты

Инструмент под названием tracepath может отслеживать путь пакета от источника к месту назначения. может использоваться для альтернативного поиска IPv6.

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

Программа под названием tracemap выполняет трассировку путей сразу для нескольких хостов. Цветная диаграмма показывает данные, которые были обнаружены в результате трассировки.

Созданное изображение позволяет наглядно понять, как расположены различные интернет-ресурсы и насколько они удалены друг от друга. При построении разветвленной сети диаграмма может быть полезна как дополнительный источник знаний для выбора провайдера (uplink).

Are there alternatives to the traceroute command?

Да, существует ряд альтернатив командам traceroute, включая команды MTR, Dig, Open Visual Traceroute и Nmap.

MTR command (Linux and macOS)

Debug команды traceroute

Давайте включим отладку и посмотрим поближе.

R1# debug ip icmp 

ICMP packet debugging is on

R1# traceroute 192.168.3.1

Type escape sequence to abort.
Tracing the route to 192.168.3.1
VRF info: (vrf in name/id, vrf out name/id)
  1 10.1.2.2 0 msec 1 msec 0 msec
  2 10.2.3.3 1 msec
*Jul 26 10:35:21.592: ICMP: time exceeded rcvd from 10.1.2.2
*Jul 26 10:35:21.593: ICMP: time exceeded rcvd from 10.1.2.2
*Jul 26 10:35:21.593: ICMP: time exceeded rcvd from 10.1.2.2
*Jul 26 10:35:21.594: ICMP: dst (10.1.2.1) port unreachable rcv from 10.2.3.3  *  1 msec
R1#
*Jul 26 10:43:03.744: ICMP: dst (10.1.2.1) port unreachable rcv from 10.2.3.3

Мы откроем пакет в Wireshark и приведем вывод в порядок.

! ospf && ! cdp && ! loop && ! icmpv6

Теперь смотрим:

Что мы видим? Для отправки шести пакетов использовался протокол UDP. Первый пакет был отправлен на порт 33434, а следующий пакет был отправлен на порт 1. Номер шестого – 33439. В ответ были получены 3 временных ограничения и 2 недоступных порта из общего числа 5 ICMP-вопросов. ответы, которые отлаживаются маршрутизатором.

Example of traceroute (tracert on windows)

The name of Traceroute on Windows is Tracert. It works very similar to the version on the other operating systems.
Traceroute

В Linux и macOS команда Traceroute выглядит следующим образом:

Mtr/winmtr

Второй чрезвычайно практичный инструмент. Для Windows WindMT и Linux MTR. Он позволяет определить хоп, в котором происходит потеря пакетов, и любые потенциальные задержки передачи. Хотя это очень просто, вы должны правильно интерпретировать результаты.

:/>  batch file - How to open a URL with cmd? - Stack Overflow

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

Не осталось ли у вас непроданных пакетов? Нет. Почему бы не считать, что он отправил 147 пакетов и получил 131 от последнего хопа. Хопы, в которых потери составляют 100%, являются разумными. Хотя сам маршрутизатор блокируется от ICMP-ответов, транзитный трафик не затрагивается.

Хмель 4 и 5 кажутся интригующими. Что это такое? Для определенных типов трафика, предназначенных для самого маршрутизатора, они имеют ограничение скорости. Также не затрагивается транзитный трафик. Подробнее читайте здесь.

Что указывает на потери? Когда потери начинаются на конкретном хопе, они продолжаются или увеличиваются на остальных и других. Кроме того, необходимо учитывать Worst и Avrg (средние) задержки. Плохо, если они большие, возможно, превышают 3000 мс (3 сек). Это не сработает, даже если потеря приведет к продолжению нормальной работы.

Какие сетевые задержки считаются нормой? По мнению CISCO не более 150 ms.

Диапазон в миллисекундахОписание
0-150Приемлемо для большинства пользовательских приложений.
150-400Допустимо при условии, что администраторы осведомлены о времени передачи и его влиянии на качество передачи в пользовательских приложениях.
Более 400Неприемлемо для общих целей планирования сетей. Однако признается, что в некоторых исключительных случаях этот предел может превышаться.

Кроме того, вы можете прочитать следующее (если у вас все еще есть доступ):

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

Сегодня всё, удачи в траблшутинге!

Paping

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

  • Как проверить, где кроется проблема: в самом приложении, его настройках, сертификатах или в сетевой доступности удаленного узла?
  • Как проверить, не блокирует ли FW путь пакета?

В этой ситуации полезна утилита paping. Медаль сетевого администрирования вручается ее создателю. Используется простой синтаксис:

paping.exe ip_хоста -p порт

Когда paping показывает доступность порта, это означает, что FW не заблокировали пакет. Онлайн-сканер может проверить узел назначения, если он подключен к Интернету.

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

Test-NetConnection ip_хоста -p порт

По сравнению с telnet, видимость лучше. Но количество пакетов одинаково. Естественно, при использовании FW вы можете увидеть пакеты в журнале, даже если их не так много. В целом, использование пакетов – самое мудрое решение.

Syntax of the traceroute and tracert commands

traceroute [options] host_Address [pathlength] (Linux)

traceroute [options] host [packetsize] (macOS)

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name (Windows)

The ttl and traceroute

Поле TTL (время жизни) присутствует в каждом отправляемом пакете. Количество прыжков, которые он может сделать до получения результата, является пределом, а не временем.

Типичный предел – 30, но он может быть ближе, например, к 64. Ваши данные останавливаются этим лимитом после определенного количества переходов, поэтому они не будут продолжаться бесконечно. Когда он достигает хоста, IP-пакет будет идти дальше, пока не столкнется с ошибками “время превышено” или “порт недоступен”.

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

Traceroute command vs tracert command

Синтаксис и доступные опции – два других ключевых отличия, помимо небольшого различия между набором traceroute и tracert и того факта, что первый совместим с Linux и macOS, а второй – только с Windows.

Traceroute options for macos

Хотя параметры команды Traceroute в macOS и Linux очень похожи, есть несколько незначительных различий.

Traceroute options for windows

Для проведения более точных тестов можно использовать команду Tracert с рядом опций. Windows Vista, Windows 7, Windows 8 и, конечно, Windows 10 совместимы со следующими опциями.

Option

Описание

-d

Не переводите имена хостов из адресов.

-h aximum_hops

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

-j host-list

( Только IPv4) Свободный маршрут источника по списку хостов. только отображение адресов IPv4.

-w timeoutWait timeout milliseconds for each reply. Inscrease it, to see more about slower routers.

-R

Trace round-trip path (IPv6-only).

-S srcaddr

Полезный адрес источника (только для IPv6)

-4

Force using IPv4.

-6

Настаивайте на использовании IPv6.

Tracert – трассировка маршрута к заданному узлу.

  
Утилита трассировки маршрута до заданного узла TRACERT.EXE является одним из наиболее часто используемых инструментов сетевой диагностики. Основное ее назначение – получить цепочку узлов, через которые проходит IP-пакет, адресованный конечному узлу, имя или IP-адрес которого задается параметром командной строки.

:/>  Как узнать температуру процессора: 4 простых способа

Формат командной строки:

Tracert [-d][mksЧисло] –h списокУзлов) (–R адрес Источника] [-4], конечноеИмя

Параметры командной строки

Не используйте разрешение в именах узлов, или -d.

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

Свободный выбор маршрута по списку узлов с флагом -j (только для IPv4).

После каждого ответа идет двухсекундный обратный отсчет с использованием опции -w timeout.

R – трассировка пути (только для IPv6)

– S адрес источника — использовать указанный IPv6.

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

6 – Использование IPv6 является обязательным.

В основе трассировки заложен метод анализа ответов при последовательной отправке ICMP-пакетов на указанный адрес с увеличивающимся на 1 полем TTL. (“Время жизни” –
Time To Live). На самом деле это поле не имеет отношения к времени, а является счетчиком числа возможных переходов при передаче маршрутизируемого пакета.
Каждый маршрутизатор, получив пакет, вычитает из этого поля, сохраняемого в заголовке пакета, единицу и проверяет полученное значение счетчика TTL. Если значение стало равным нулю, такой пакет
отбрасывается и отправителю посылается ICMP-сообщение о превышении времени
жизни (сообщение “Time Exceeded”, значение 0x11 в заголовке ICMP).

Если бы поле TTL отсутствовало, ошибки маршрутизации могли бы привести к ситуации, когда пакеты постоянно циркулируют.

  При выполнении команды tracert.exe сначала выполняется отправка ICMP пакета с полем TTL в заголовке равным 1 и первый в цепочке маршрутизатор (обычно это основной шлюз из настроек сетевого подключения) вычтя единицу из TTL получает его нулевое значение и сообщает о превышении времени жизни. Таким образом, утилита TRACERT.EXE получает IP-адрес первого маршрутизатора, участвующего в доставке пакетов конечному узлу. Эта последовательность повторяется трижды,
поэтому в строке результата, формируемой tracert.exe, после номера перехода
отображаются три значения времени отклика:

1    1 ms    <1    <1    192.168.1.1

1 – номер перехода (1 – первый маршрутизатор)
1 ms <1 <1 – время его ответа для 3-х попыток (1ms и 2 ответа менее чем 1 ms)
192.168.1.1 – его адрес (или имя)

  Затем процедура повторяется, но
TTL устанавливается равным 2 – первый маршрутизатор его уменьшит до 1 и
отправит следующему в цепочке, который после вычитания 1 обнулит TTL и сообщит о превышении времени жизни. Утилита TRACERT.EXE получит второй IP-адрес узла, участвующего в доставке пакета получателю и его время ответа. Процесс трассировки будет продолжаться до тех пор, пока не будет достигнут конечный узел, имя или адрес которого заданы в качестве параметра командной строки, например , tracert yandex.ru , или до
обнаружения неисправности, не позволяющей доставить пакет. По умолчанию, утилита TRACERT.EXE использует счетчик максимального числа переходов равный 30, что должно быть достаточно для достижения любого узла на планете. При необходимости, иное значение счетчика можно задать с помощью параметра -h

Пример результатов выполнения tracert google.com

С помощью Tracert Google можно определить местоположение хоста GoGla.

Результат:


Трассировка маршрута к google.com [74.125.45.100] с максимальным числом прыжков 30:
1 1 ms <1 <1 192.168.1.1
2 498 ms 444 ms 302 ms ppp83-237-220-1.pppoe.mtu-net.ru [83.237.220.1]
3 * * * .
4 282 ms * * a197-crs-1-be1-53.msk.stream-internet.net [212.188.1.113]
5 518 ms 344 ms 382 ms ss-crs-1-be5.msk.stream-internet.net [195.34.59.105]
6 462 ms 440 ms 335 ms m9-cr01-po3.msk.stream-internet.net [195.34.53.85]
7 323 ms 389 ms 339 ms bor-cr01-po4.spb.stream-internet.net [195.34.53.126]
8 475 ms 302 ms 420 ms anc-cr01-po3.ff.stream-internet.net [195.34.53.102]
9 334 ms 408 ms 348 ms 74.125.50.57
10 451 ms 368 ms 524 ms 209.85.255.178
11 329 ms 542 ms 451 ms 209.85.250.140
12 616 ms 480 ms 645 ms 209.85.248.81
13 656 ms 549 ms 422 ms 216.239.43.192
14 378 ms 560 ms 534 ms 216.239.43.113
15 511 ms 566 ms 546 ms 209.85.251.9
16 543 ms 682 ms 523 ms 72.14.232.213
17 468 ms 557 ms 486 ms 209.85.253.141
18 593 ms 589 ms 575 ms yx-in-f100.google.com [74.125.45.100]

Последующее наблюдение завершено.

  В результатах трассировки могут присутствовать строки, где вместо адреса
узла отображается звездочка (узел номер 3 в примере). Это не обязательно является признаком неисправности маршрутизатора, и чаще всего, говорит о том, что настройки данного узла запрещают отправку ICMP-сообщений по соображениям безопасности и уменьшения нагрузки на канал при в случае некоторых разновидностей DDoS-атак . Например, подобные настройки используются в сетях Microsoft . Серверы корпорации не отвечают на ping и не позволяют выполнить трассировку маршрута к ним.

tracert google.com – выполнить трассировку маршрута к узлу google.com.

Tracert 8.8.8 – Найти IP-адрес хоста и проследить его маршрут

Проложить маршрут к узлам, используя IP-адреса в именах узлов, можно с помощью команды tracert -d yandex.ru. Этот способ трассировки более быстрый.

Gmail может осуществлять навигацию с использованием IPV5 и IPV6

Пример трассировки с использованием протокола IPv6

trace to ipv6.google.com (2a00:1450:4013:c00::71), 30 hops max, 40 byte packets
 1  2a02:348:82::1 (2a02:348:82::1)  8.087 ms  8.063 ms  8.086 ms
 2  te0-22.cr1.nkf.as49685.net (2001:4cb8:40b:1::1d01)  2.143 ms  2.129 ms  2.103 ms
 3  amsix-router.google.com (2001:7f8:1::a501:5169:1)  1.379 ms  1.415 ms  1.422 ms
 4   (2001:4860::1:0:87ab)  1.437 ms  (2001:4860::1:0:87aa)  2.157 ms  (2001:4860::1:0:87ab)  1.408 ms
 5   (2001:4860::8:0:87b0)  1.494 ms  1.469 ms  (2001:4860::8:0:87b2)  8.350 ms
 6   (2001:4860::8:0:b1b7)  5.364 ms  5.321 ms  4.748 ms
 7   (2001:4860::2:0:8651)  4.653 ms  6.994 ms  (2001:4860::2:0:8652)  13.926 ms
 8  ee-in-x71.1e100.net (2a00:1450:4013:c00::71)  4.732 ms  4.733 ms  4.783 ms

Весь список команд CMD Windows

:/>  regedit - Russian translation – Linguee

What is traceroute used for?

Запуск traceroute полезен для определения маршрутных переходов и задержек ответа, которые должны испытывать данные при перемещении через узлы, которые и отправляют данные к месту назначения. С помощью Traceroute можно найти точки отказа.

What is traceroute?

Traceroute показывает маршрут, пройденный данными при их перемещении от вашего компьютера к месту назначения через Интернет.

When does high latency matter?

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

Отчет traceroute можно использовать для выявления проблем в сети или интернет-сервисе. Для примера:

  1. Если первые несколько записей в отчете имеют высокое время обхода, возможно, проблема в конфигурации сети. Если возникла проблема, вы можете использовать простой протокол управления сетью (SNMP) для ее диагностики. В этом разделе содержится информация об устройствах, управляемых в вашей сети. Если вы пользуетесь услугами поставщика управляемых услуг (MSP), вы можете спросить у него, в чем может быть причина проблемы.
  2. Вы можете заметить падение скорости сети, что может быть проблемой вашего поставщика услуг. Однако прежде чем обращаться в службу поддержки, проверьте свой договор с поставщиком услуг, поскольку скорость, которую вы получаете, может быть не той, на которую вы имеете право.
  3. Если вы испытываете задержку в конце отчета, проблема, скорее всего, связана с сервером назначения. Это может быть, например, ваш провайдер VoIP или видеоконференций. Если у них есть такой инструмент, как NetFlow от Cisco, они смогут обнаружить проблему. Ваш провайдер может также использовать мониторинг производительности приложений (APM) для изоляции проблем производительности.

Windows

С этой задачей справляется системный модуль или утилита Windows “Tracert”. Она находится в папке “System32”, как вы знаете, как и другие сопоставимые встроенные программы. Обычно она запускается с помощью команд в командной строке. Утилита проста в использовании с IP-адресами и доменными именами.

Давайте попробуем это сделать. Для этого необходимо использовать командную строку. Откройте папку с общими программами в “Пуск” – “Все программы”, затем щелкните правой кнопкой мыши командную строку и войдите в нее от имени администратора.

П РИМЕЧАНИЯ! Команда “CMD” и R позволяют получить доступ к любому веб-сайту.

Вы можете выбрать консоль с правами администратора, нажав “Начать”.

Остальные шаги просты. Сначала мы вводим команду “tracert”, а затем, используя пробел, определяем IP-адрес сервера. Я воспользовался одним из популярных DNS-серверов:

tracert 8.8.8.8

Также можно использовать доменное имя в дополнение к IP-адресу.

Параметры команды ping

R1# ping 192.168.3.1 ?

 Extended-data specify extended data pattern
 data specify data pattern
 df-bit enable do not fragment bit in IP header
 dscp Specify DSCP value in ASCII/Numeric
 ingress LAN source interface for Ingress
 repeat specify repeat count
 size specify datagram size
 source specify source address or name
 timeout specify timeout interval
 tos specify type of service value
 validate validate reply data
 <cr> 

Набор параметров может отличаться, основные параметры:

Параметры команды traceroute

R1# traceroute 192.168.3.1 ?

 dscp Specify DSCP value in ASCII/Numeric
 ingress LAN source interface for Ingress
 numeric display numeric address
 port specify port number
 probe specify number of probes per hop
 source specify source address or name
 timeout specify time out
 ttl specify minimum and maximum ttl
 <cr>

В зависимости от IOS, как будет выглядеть устройство?

D1# traceroute 192.168.3.1 ?
 <cr>

Или так:

R1# traceroute 192.168.3.1 ?

  numeric  display numeric address
  port     specify port number
  probe    specify number of probes per hop
  source   specify source address or name
  timeout  specify time out
  ttl      specify minimum and maximum ttl
  <cr>

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

Пример

Предположим, что маршрутизатор R1 не имеет таблицы маршрутов и не знает о сети 192.168.10.0/24. R1 не может отправлять пакеты из-за отсутствия маршрута по умолчанию.

Сетевые инструменты

Несколько слов о практических утилитах. Ping недостаточен как инструмент для проверки доступности.

Вывод команды traceroute

Выводы ping и traceroute содержат одинаковые информационные сообщения. Давайте постараемся прояснить и устранить эти недоразумения.

Расшифровка вывода traceroute

Вспомните первые два: U обозначает недоступный порт, а H – хост.

Conclusion

Используя недавно собранные данные, вы можете определить, есть ли проблема с маршрутом (медленный или неотзывчивый сервер), а затем сконцентрировать свои усилия на ее устранении. Ознакомьтесь с одной из наших предыдущих статей о таких инструментах, как DNS trace, Ping, Traceroute, Nslookup и reverse lookup, если вы хотите ознакомиться с некоторыми другими.

(69 091 посещений в целом; 18 сегодня)

Tags:

Окончательно утвержден: 25 июня 2021

Заключение

У вас есть возможность исследовать свою сеть теперь, когда вы знакомы с принципами трассировки и изучили Tracert и traceroute. Пользователи Android могут использовать механизм анализа сетевых пакетов, поскольку он настолько прост и совместим со всеми операционными системами.

Вывод команды ping

CharacterDescription
!The exclamation point indicates receipt of a single reply. The ping successfully reached the
destination, the destination replied, and the reply made it back to the originator. This is an ICMP Type 0 message.
.The period indicates that the ping timed out. Normally this indicates that the distant end received the ping, but could not reply for some reason.
UThe destination of the ping was unreachable. Although not visible in the router output, there are 16 sub-codes to the unreachable message that describe exactly what was unreachable.
MAn intermediate device could not fragment the packet, and so could not forward it.
?Unknown packet received.
&Packet lifetime exceeded.
Расшифровка вывода ping

U в выводе имеет разное значение для ping и traceroute; для ping это единица. Cisco была уверена, что каждый экзаменационный вопрос будет самым важным на тот момент.

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

Adblock
detector