Трассировка в виндовс. Какие секреты поможет узнать команда Tracert. трассировка маршрута tracert

Вы не можете «зайти» онлайн на определенный сайт или группу сайтов, или даже для вас вдруг стал недоступен целый сегмент Интернета. Одним из инструментов «починки интернета» является трассировка маршрута. Что это такое?

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

Конечно, любой интернет-провайдер (поставщик услуг по пользованию всемирной паутиной) обеспечивает услуги технической поддержки. Только вот работники техподдержки «рвутся» на вызов примерно так же, как и слесаря из ЖЭКа: хорошо, если к вечеру дождетесь. А уж если проблемы настигли вас в выходные или праздники… Вот почему ситуацию нередко приходится брать в свои руки. Провести если не ремонт, то диагностику интернет-соединения – такой же необходимый навык современного человека, как умение починить кран или хотя бы перекрыть воду до приезда аварийной бригады.

Одним из инструментов «починки интернета» является трассировка маршрута. Что это такое?

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

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

Для этого вам понадобится служебная программа (утилита) traceroute. Принцип ее действия прост: программа посылает в проблемном направлении информационный сигнал – пакет данных, получая ответ от каждого из узлов – своеобразное информационное эхо. Таким образом, можно замерить время прохождения сигнала от одного узла к другому, без труда выявив «слабое звено».

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

  1. Вызываем командную строку. Для этого:
    • Нажимаем кнопку пуск на экране либо клавишу win на клавиатуре (клавиша win на стандартной клавиатуре находится между Alt и Control, на ней изображен всемирно известный логотип всеми любимой операционной системы Windows);
    • В появившемся меню (стартовом меню) выбираем пункт «выполнить». Команда «выполнить» позволяет задействовать служебные программы системы Windows, спрятанные подальше от рук любопытных пользователей, так как неумелое пользование некоторыми программами может нанести вред работе операционной системе и хранящимся на компьютере данным. Своего рода «защита от дурака». Но мы уж точно не дураки, поэтому продолжаем;
    • В появившейся после выбора «выполнить» строке вводим вручную латинским шрифтом cmd и нажимаем Ok. Командная строка вызвана.

Справка: быстро вызвать строку «выполнить» можно нажав на клавиатуре комбинацию win+r. После чего можно ввести cmd.

  1. В командную строку вводим команду tracert имя или IP сайта (с подсоединением к которому возникли проблемы). Например, tracert ru.
  2. Ожидаем результат. В результате мы увидим несколько строк (до 30), каждая из которых – узел, через который проходит информация. В строке будет написано имя или IP узла и время прохождения сигнала в миллисекундах (ms – тысячная доля секунды).

Выше описанное актуально для операционной системы Windows, а как выполняется трассировка маршрута под Linux? В общих чертах аналогично, только терминал (аналог командной строки) вместо cmd вызывается сочетанием клавиш Ctrl+Alt+t, а вместо tracert вводим traceroute. Стоит также отметить, что трассировка в Linux будет продолжаться, пока пользователь не прервет ее сам, нажав ctrl+c.

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


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

Уже ни для кого не секрет, что в основе всей электронной информации лежит Его интерпретация на уровне электротехники сводится к элементарному: 1 - есть ток, 0 - нету тока. Далее этот код собирается в биты, а они складываются в байты - минимальные адресуемые единицы информации. По сети эти байты передаются уже в виде пакетов данных.

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

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

В Windows данная процедура производится с помощью консольной команды «tracert». Чтобы выполнить трассировку, нам нужно знать веб-адрес сайта или нужного сервера. Далее в меню «Пуск» вызываем командную строку из «Выполнить». Вводим «cmd», и уже в появившемся окне набираем «tracert нужный_адрес». Спустя некоторое время, перед нами будет полный список серверов, через которые проходят наши пакеты информации, а также будет указано время отклика каждого из них.

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

Трассировка маршрута покажет все проблемы. Если какой-то сервер не отвечает на запросы, то об этом будет сказано. Внимательно посмотрите, кому принадлежит сервер - сайту или вашему провайдеру. Если второму, то пора позвонить и пожаловаться, пусть устраняют проблему. А еще лучше сначала трассировать путь к DNS- и VPN-серверам (если используется), чтобы наверняка знать, что у провайдера вышло из строя.

К примеру, так трассировка сайта google.com выглядит у меня:

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

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

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

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

Результат:


Трассировка маршрута к google.com с максимальным числом прыжков 30:
1 1 ms 2 498 ms 444 ms 302 ms ppp83-237-220-1.pppoe.mtu-net.ru
3 * * * .
4 282 ms * * a197-crs-1-be1-53.msk.stream-internet.net
5 518 ms 344 ms 382 ms ss-crs-1-be5.msk.stream-internet.net
6 462 ms 440 ms 335 ms m9-cr01-po3.msk.stream-internet.net
7 323 ms 389 ms 339 ms bor-cr01-po4.spb.stream-internet.net
8 475 ms 302 ms 420 ms anc-cr01-po3.ff.stream-internet.net
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

Трассировка завершена.

    В результатах трассировки могут присутствовать строки, где вместо адреса узла отображается звездочка (узел номер 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:

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

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

Что проверяет команда tracert?

Tracert посылает в точку назначения запросы подобно Заметив, что пользователем набрана команда tracert, Windows отправляет специально помеченные пакеты, которые, достигнув первого же шлюза, возвращаются обратно на компьютер пользователя. При этом в полученных данных содержится информация об узле, вернувшем его. После этого отправляется следующий запрос, в теле которого уже присутствует указание пропустить его предыдущему шлюзу.

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

Запуск команды tracert в Windows

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

Ключи команды tracert

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

Приведем краткое описание параметров, которые поддерживает команда tracert:

  • -h задает максимальное количество переходов, которое может быть выполнено при поиске конечного узла.
  • -d запрещает команде производить попытки превратить IP-адрес промежуточного шлюза в имя.
  • -j позволяет утилите производить свободный поиск маршрута по списку узлов. Максимум можно указать 9 маршрутизаторов.
  • -w служит для указания времени ожидания ответа на запрос от узла. Если ответ не получен, то будет выведена звездочка. Указывается в миллисекундах.

По умолчанию максимальное число прыжков ограничено 30-ю, а время ожидания - 4-мя секундами.

Аналог в Linux

Пользователям доступна утилита с более широким функционалом, чем имеет команда tracert. Называется она traceroute. Отличается данное приложение от аналога для Windows наличием разнообразных режимов, которые задаются с помощью параметров.

Запуск трассировки с помощью ICMP осуществляет команда tracertroute с ключом -I. Стоит обратить внимание, что для выполнения этой операции потребуются права администратора. При стандартных настройках в большинстве дистрибутивов запуск команды tracertroute может быть осуществлен любым пользователем. В этом случае будут использовать UDP-пакеты, также можно утилите принудительно указать использовать именно их с помощью параметра -U.

Звездочки в выводе маршрутов

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

Что следует знать о трассировке маршрутов?

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

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

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

Утилита MTR

Программа MTR существует в версиях для большинства операционных систем. Принцип ее работы очень похож на команду tracer (traceroute). Она опрашивает заданный узел в течение определенного промежутка времени, при этом позволяя зафиксировать изменения задержек.

Версия утилиты для Windows имеет название WinMTR и распространяется бесплатно.

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

Пользователям Linux также придется MTR устанавливать дополнительно из репозиториев. В этих операционных системах обычно используется консольная версия утилиты. Пользователю доступны разнообразные параметры, позволяющие задать количество отправляемых пакетов, запись отчета в файл, таймаут. Также версия для Linux может использовать для тестирования определенные порты или TCP-пакеты.

Что следует отправлять провайдеру для диагностики сетевых проблем?

Администратору сервера или провайдеру, как правило, лучше отправить выводы команд tracert (traceroute), ping и отчет утилиты MTR. Можно, конечно, постараться обойтись только последним, но чем больше информации предоставлено, тем легче специалисту найти и устранить проблему.

Команда пинг (ping) и tracert (traceroute) - как правильно использовать?

Команда пинг (ping)

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

Выполняется команда пинг очень просто - "ping ya.ru". Здесь "ya.ru" - имя пингуемого сервера. Можно также использовать IP-адрес, например "ping 213.180.204.3". После запуска команды ping, вам остается только посмотреть на величину задержки.

Как уменьшить пинг?

От людей, играющих в сетевые игры, часто можно слышать об их желании уменьшить пинг . Это достаточно логично, так как маленькое время пинга означает меньшие задержки при игре. Соответственно, игрок с минимальным временем пинга может получить преимущество в игре. Наиболее популярная игра, для которой пользователи любят померить пинг - Counter Strike или сокращенно CS.

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

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

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

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

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

Команда tracert (traceroute)

Очень часто пользователи задаются вопросом, с чем связана разница в написании tracert и traceroute ? На самом деле, команда tracert применяется в операционных системах Windows, а traceroute - в операционных системах Linux и в операционной системе маршрутизаторов Cisco.

Простейший и самый распространенный пример использования команды tracert - "tracert ya.ru". При использовании команды tracert с буквенным адресом проверяемого хоста, автоматически проверяется еще и работоспособность и доступность DNS - сервера. Ведь для того, чтобы начать процесс трассировки, команда tracert должна сначала связаться с сервером DNS и получить IP-адрес проверяемого хоста.

Пример вывода информации командой tracert:

c:\windows\system32>tracert ya.ru

Трассировка маршрута к ya.ru
с максимальным числом прыжков 30:

1 1 мs 1 мs 1 ms psk-cr1-fe-0-0-v03.сайт
2 1 мs 1 мs 1 мs ge-2-2-0-v2.1g.m20-1-pskv.nwtelecom.ru
3 4 ms 4 ms 4 ms ae0.20g.mx960-1-210.nwtelecom.ru
4 4 ms 4 ms 4 ms as13238-yandex.gateway.nwtelecom.ru
5 12 ms 12 ms 12 ms apollo-vlan304.yandex.net
6 12 ms 12 ms 13 ms grechko-vlan121.yandex.net
7 15 ms 14 ms 14 ms silicon-vlan4.yandex.net
8 14 ms 13 ms 13 ms l3link-iva1-ugr1.yandex.net
9 14 ms 13 ms 15 ms www.yandex.ru

Трассировка завершена.

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

Следует также учитывать, что основная задача маршрутизаторов - это передавать пакеты с полезной информацией, а не отвечать на команды tracert и ping. Поэтому, некоторые маршрутизаторы на пути следования пакета могут пинговаться даже с потерей пакетов, но при этом целевой хост будет доступен без потери пакетов. Поэтому прежде чем звонить в техподдержку провайдера с криком "Я знаю, где у вас пропадают пакеты!", убедитесь, что целевой хост также пингуется с потерей пакетов. Иначе вам попросту расскажут то, о чем написано выше.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: