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

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

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

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

Дальше я расскажу, как сделать трассировку маршрута в ОС Windows. Для этого нам понадобится воспользоваться служебной программой Tracert, которая, аналогично программе ping, запускается командной строкой. Чтоб в нее попасть, можно использовать один из трех предлагаемых мной способов:

2. Воспользоваться комбинацией клавиш вида Win+R, которая открывает окно как в первом способе. Дальше все действия одинаковы.

Откроется окошко с черным фоном, где нужно набрать команду в виде tracert название_сайта (в качестве примера: tracert yahoo.com) и подтверждаем ввод клавишей Enter. Если известен IP-адрес ресурса, то вместо названия домена, можно вводить его. Вводя адрес, устанавливается маршрут к конечному узлу. Окно командной строки выводит результаты сделанной трассировки в реальном времени: IP-адреса и названия промежуточных узлов, а также время отклика, отображаемое в миллисекундах.

В случае, если имена каких-либо промежуточных узлов не интересны, то трассировку маршрута необходимо выполнять с добавлением параметра –d, что позволяет скрыть имена маршрутизаторов. Вот так выглядит пример запроса: tracert -d yahoo.com.

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

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

Наверное немногие из вас знают, что такое tracert. Рассмотрим варианты проверки доступности определенного IP, сервера или компьютера в сети.

трассировка маршрута tracert

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

Жмем меню пуск — выполнить —

В открывшемся окне набираем ping 192.168.1.1 (ip адрес модема по умолчанию) и жмем ОК.

Если откроется командная строка с примерно такими показателями, то связь компа с модемом есть. Таким же макаром проверяем связь с сервером вашего интернет — провайдера. Этой же командой проверяем и связь с хостингом, где расположен ваш сайт. Достаточно вбить ip адрес хостера или его домен хостинг.ru Если же появится надпись типа: превышен интервал ожидания для запроса , то у вас проблеммы, связи нет.

Как видно на скриншоте пинг прошел удачно

трассировка маршрута к серверу tracert

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

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

Если представить что на скриншоте прописан ip не 192.168.1.1, а ip вашего сервера, то в этом случае проблема будет в вашего интернет провайдера. Когда накопится немного статистики по трассировке маршрута, начинаем копировать. В левом верхнем углу жмем на черную кнопочку — изменить — выделить все…

Информация выделена

И опять кнопочку — изменить — копировать… Потом вставляете в блокнот или word и распечатка готова.

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

Сообщаем провайдеру или хостеру о проблеммах и прикладываем распечатку.

    Утилита трассировки маршрута до заданного узла 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

Выполняет трассировку до точки назначения с помощью посылки адресату эхо-сообщений. Посылка осуществляется по протоколу Control Message Protocol (ICMP) с постоянным увеличением значений срока жизни пакетов (Time to Live, TTL).

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

Для проверки сети также можно воспользоваться командами:

  • PING - основная TCP/IP-команда, используемая для устранения неполадки в соединении, проверки возможности доступа и разрешения имен;
  • PATHPING - предоставляет информацию о латентности сети и потерях данных на промежуточных узлах.

Параметры и ключи утилиты TRACERT

tracert [-d] [-h максимальное_число_переходов] [-j список_узлов] [-w интервал [имя_конечного_компьютера]

  • -d - Предотвращает попытки команды tracert разрешения IP-адресов промежуточных маршрутизаторов в имена. Увеличивает скорость вывода результатов команды tracert.
  • -h максимальное_число_переходов - Задает максимальное количество переходов на пути при поиске конечного объекта. Значение по умолчанию равно 30.
  • -j список_узов - Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в заголовке IP с набором промежуточных мест назначения, указанных в списке_узлов. При свободной маршрутизации успешные промежуточные места назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке - 9. Список_адресов представляет набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.
  • -w интервал - Определяет в миллисекундах время ожидания для получения эхо-ответов протокола ICMP или ICMP-сообщений об истечении времени, соответствующих данному сообщению эхо-запроса. Если сообщение не получено в течение заданного времени, выводится звездочка (*). Таймаут по умолчанию 4000 (4 секунды).
  • имя_конечного_компьютера - Задает точку назначения, указанную IP-адресом или именем узла.
  • -? - Отображает справку в командной строке по утилите tracert.

Примеры команды TRACERT

  • Чтобы отобразить справку в командной строке по команде введите: tracert /? ;
  • Чтобы выполнить трассировку пути к узлу, введите команду: tracert ya.ru;
  • Чтобы выполнить трассировку пути к узлу и предотвратить разрешение каждого IP-адреса в имя, введите: tracert -d ya.ru.

Видео - Работа с утилитой TRACERT

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



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

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

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