Команды трассировки маршрута windows

TRACERT – трассировка маршрута к заданному узлу в командной строке Windows.

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

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

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

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

-d — не использовать разрешение в имена узлов.

-h максЧисло — максимальное число прыжков при поиске узла.

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

-w таймаут — таймаут каждого ответа в миллисекундах.

-R — трассировка пути (только IPv6).

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

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

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

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

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

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

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

tracert google.com — трассировка маршрута к узлу google.com

Трассировка маршрута к google.com [74.125.45.100] с максимальным числом прыжков 30:
1 1 ms

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

Читайте также:  Простейший видеоредактор для линукс

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

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

tracert 8.8.8.8 — выполнить трассировку маршрута к узлу с IP-адресом 8.8.8.8

tracert -d yandex.ru — выполнить трассировку маршрута к узла yandex.ru без разрешения IP-адресов в имена узлов. Трассировка в таком режиме выполняется быстрее.

tracert -d -6 ipv6.google.com — выполнить трассировку с использованием протокола IPv6.

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

Как сделать трассировку маршрута в Windows 7

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

Теперь необходимо поработать с «черным окном», которое напоминает об операционной системе MS-DOS. Для дальнейшей работы, необходимо знать команду трассировка маршрута. Итак, запоминайте, команда трассировки маршрута: tracert.

В качестве примера, проведем трассировку до сайта Вконтаке. Для этого, необходимо набрать tracert vk.com и нажать на клавишу Enter. После завершения трассировки, можно ознакомиться с ее результатом.

Как видно из результатов трассировки, была проблема в переходе между 10 и 11 прыжками, о чем свидетельствует сообщение «Превышен интервал ожидания для запроса». Тем не менее, удалось достигнуть сайта Вконтаке за 12 прыжков. Обратите внимание, что IP-адрес сайта Вконтакте, на момент написания этих строк 87.240.143.246.

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

  1. Сайт временно недоступен;
  2. Проблемы у вашего провайдера.

Если, при трассировке неверно набрано имя сайта, то появится сообщение: «Не удается разрешить системное имя узла …»

Трассировка маршрута сети (команда tracert)

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

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

В ОС Windows — это утилита tracert. В XP она была доступна по умолчанию, а вот во всех последующих версия вплоть до Windows 10 её надо включать дополнительно через «Программы и Компоненты».

В операционных система ОС семейства *NIX — Linux, FreeBSD, Android — программа traceroute
Смысл алгоритма трассировки маршрута в том, что посылается по три специальных запроса на каждый сетевой узел, через который идёт трафик до нужного хоста, затем для каждого из них на экране, рядом с его адресом, выдаётся время ответа. По этим результатам можно легко отследить на каком участке сети начинают появляться задержки ответа или он вообще пропадает.

Трассировка в Windows 10

Для проведения трассировки сети в Windows 10 необходимо нажать комбинацию клавиш Win+R и в окне «Выполнить» набрать команду «cmd». Этим Вы откроете командную строку Виндовс, в которой надо ввести команду:

Для примера возьмём сайт google.ru

Читайте также:  Значок windows это пиктограмма или ярлык

Трассировка в Linux

В операционных системах семейства Linux — Ubuntu, Fedora, CentOS и т.п. — для запуска трассировки маршрута в надо открыть системную консоль и ввести команду:

Внимание! Использовать трассировку маршрута в сети для оценки качества последней мили (абонентской линии ADSL,FTTB или PON) нельзя, так как эта системная программа никоим образом оценить качество линии не может и не умеет.

Что такое трассировка маршрута в Windows (tracert) и Linux (traceroute): разбор Бородача

Всем привет! Как вы уже поняли, сегодня я подробно, но максимально кратко попробую рассказать про то – что же такое трассировка маршрута в локальных и глобальных сетях. Также расскажу, в чем отличие измерения трассировки в Windows и Linux. Некоторые думают, что при вводе примерно одинаковых команд инженер будет получать одну и ту же информацию, но на деле это не совсем так – об этом поподробнее чуть ниже. Если у вас будут какие-то вопросы и дополнения, то пишите в комментариях.

Определение

Трассировка – по сути это тестирование, при котором пользователь может увидеть, по какому пути проходит пакет данных до конечного сервера. То есть через какие узлы он проходит и с какой задержкой. Например, при стандартной команде «Ping» вы получите информацию о времени отклика или время отправки и приема пакета. А при трассировке вы увидите через какие IP узлов проходит этот самый пакет до конечного сервера.

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

Windows

В «окнах» данную функцию выполняет системный модуль или утилита «Tracert». Как вы понимаете она расположена в папке «System32», как и другие подобные микропрограммы. Для запуска обычно нужно использовать командную строку. Утилита спокойно работает как с доменными именами, так и с IP адресами, в том числе IPv4 и IPv6. Также плюс в том, что её не нужно устанавливать и она идет в стандартном пакете Windows на всех версиях: XP, 7, 8, 8.2 и 10.

А теперь давайте попробуем её использоваться. Для этого вам нужно запустить командную строку. В Windows 7 переходим в «Пуск» – «Все программы» – открываем папку «Стандартные», а после этого нажимаем правой кнопкой по командной строке и открываем с правами администратора.

ПРИМЕЧАНИЕ! Также можно открыть через «Win+R» и команду «CMD».

В Windows 10 достаточно нажать правой кнопкой по «Пуску» и далее выбрать консоль с админ правами.

Далее все делается достаточно просто – сначала прописываем команду «tracert», а потом через пробел выписываем IP адрес сервера. Я в качестве примера использовал один известный DNS серверов:

Плюс ещё в том, что можно использовать не только IP, но также и доменное имя, которое состоит из букв. Давайте для примера проведем тест с Яндексом:

tracert yandex.ru

Тут мы видим вид нескольких шагов. Каждый шаг – это прохождение пакета от одного узла к другому. Так же вы видите время прохождения, которое пишется в миллисекундах. Далее вы видите название узла и IP адрес, который указан в скобках. Если же узел не сможет ответить или время ожидания будет превышено, то в столбце времени вы увидите звёздочку (*).

А теперь давайте я расскажу про проблему данного тестирования. Проблема состоит в том, что команда не показывает некоторые узлы, а именно коммутаторы, которые работают со вторым уровнем модели OSI. А все из-за того, что у них нет интерфейсного представления подключенных устройств в IP виде. То есть коммутация происходит на втором уровне, где нет IP адресов, а связь идет с помощью таблицы MAC-адресов. И понятно дело, что в таблице такие узлы не отображаются.

Более подробно советую также почитать про модель OSI и про коммутаторы.

В итоге для данной команды все коммутаторы, работающие со вторым уровнем модели OSI – просто невидимы. «Tracert» использует ICMP (Internet Control Message Protocol) протокол, которые передает данные только в IP пакете, со значением TTL. TTL – это время жизни пакета.

Читайте также:  Почему linux не кто не ставит

Изначально при отправке пакета на первый узел значение TTL равно единице. И при трассировке отправляется сразу три пакета – именно поэтому мы видим три столбца времени. Если все пакеты приходят обратно, то мы видим время по всем трем столбцам. Далее TTL увеличивается на единицу, и отправляется ещё три пакета на следующий узел. И так до победного конца, пока последний запрос не достигнет конечного узла.

ПРИМЕЧАНИЕ! Если вы видите звездочку, но пакет все равно идет через данный узел, то скорее всего на данном маршрутизаторе или сервере есть настройка, которая не обрабатывает ICMP запросы. Очень часто их используют для DDoS атак – поэтому их обработку иногда отключают.

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

Команда очень полезная не только для работы и тестирования рабочих сетей, но даже для выявления проблем с интернетом. Помню у моего друга постоянно был высокий отклик в «Counter-Strike», но он все никак не мог понять почему – ведь у меня в соседнем доме был пинг на порядок меньше. При трассировке он увидел, что на первом (провайдерском) узле есть сильный застой пакетов. В итоге он обратился к оператору, и им поменяли старый коммутатор, который стоял там, неверное ещё с эпохи Российской Империи.

Linux

Итак, в Windows мы уже разобрались, что трассировку выполняет утилита «tracert.exe». В Linux утилита имеет другое название: «traceroute», – и также выполняет данную функцию, но немного по-другому.

Вспомним немного как работает tracert на примере нижней картинки:

  1. Host отправляет узлу «Router1» запрос с TTL = 1.
  2. Запрос приходит на «Router1», и он, видя, что TTL равен всего одному, его уменьшает и отправляет ответ.
  3. Ответ приходит от первого узла и Host записывает его в таблицу трассировки.
  4. Далее идет запрос на второй узел уже с TTL увеличенным на один.
  5. Так продолжается до тех пор, пока запрос не дойдет до конечного сервера. Все это делается на основе ICMP протокола.

А проблем в том, что у «tracert» нет возможности сделать запрос с портом, что делает его немного узконаправленным. «Traceroute» работает на основе совершенно другого протокола – UDP. По сути UDP протокол делает запрос именно по портам. А окончание трассировки при достижении пакетом конечного узла происходит в том случае, когда при каждом шаге при увеличении номера порта он становится закрытым на конечном сервере.

Запускаем программу аналогично через консоль. Также у неё есть свои параметры.

Кстати, есть возможность при трассировке использовать не UDP, а ICMP протокол, для этого нужно дописать параметр «-I».

Но что делать, если надо на Windows сделать трассировку по UDP протоколу и использование портов? Для этого нужно будет использовать стороннюю микропрограмму: «tcptrace». Для трассировки маршрута по TCP (и UDP) можно использовать «tcptraceroute».

Оцените статью