Описание команды TRACERT. Трассировка маршрута

Инструкция

Программа для трассировки маршрутов пакетов информации есть в составе практически каждой сетевой операционной системы. В ОС Windows она tracert, а в GNU/Linux и Mac OS - traceroute. Принцип действия этой программы таков:Программа отправляет пакеты информации по указанному ей адресу, ставя заведомо невыполнимые условия доставки - очень короткое время жизни пакета (TTL - Time To Live). При отправке первого пакета оно равно 1 секунде. Каждый сервер на пути от вашего компьютера до нужного адреса обязан уменьшить это значение как минимум на единицу. Поэтому время жизни пакета истечет уже на первом узле и тот не станет передавать его дальше, а пошлет уведомление отправителю о невозможности доставки. Таким способом программа трассировки получит информацию о первом промежуточном узле. Затем она увеличит время жизни пакета на единицу и повторит отправку. Этот запрос проживет до второго узла и ситуация . Таким образом программа трассировки составит список всех промежуточных узлов, а если от какого либо не получит уведомления, то это будет означать одно из двух - либо пакет все таки доставлен получателю, либо этот узел не исполняет . Чтобы выяснить пошлет запрос с другим дефектом - будет указан заведомо несуществующий номер порта. Если этот пакет вернется с указанием - значит узел нормально и он и есть получатель, а если нет - значит на этом узле имеет место обрыв цепочки доставки пакетов. В любом случае процедура трассировки на этом будет закончена.

В ОС Windows исполняемый файл этой программы (tracert.exe) хранится в папке WINDOWSsystem32 на системном диске вашего компьютера. Но чтобы запустить программу нет необходимости разыскивать файл. Эта программа управляется только из , поэтому сначала нужно командной строки. Для этого в главном меню (на кнопке «Пуск») выберите пункт «Выполнить» чтобы открыть диалоговое окно «Запуск программы». Можно его открыть и нажатием сочетания клавиш WIN + R. Затем напечатайте "cmd" (без кавычек) и нажмите кнопку «ОК» (или клавишу Enter). В открывшемся терминале напечатайте tracert и, через пробел, адрес узла в сети, до которого вам требуется провести трассировку . Это может быть как IP-адрес, так и доменное имя. Протокол http указывать не нужно. После того как будет закончена, результат можно скопировать - нажмите CTRL + A чтобы все выделить и Enter чтобы скопировать выделенное в оперативную память. Затем скопированное вы можете вставить в любой документ какого либо текстового редактора.

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

Инструкция

Осуществите трассировку с помощью команды traceroute, в Windows-tracert. Для того чтобы произвести трассировку маршрута, выполните следующее: откройте меню «Пуск» – «Выполнить». Введите cmd.exe и выберите «ОК».

В командной строке наберите команду tracert имя_сервера (имя сервера указано в приветственном email-сообщении при заказе услуги). Дождитесь завершения выполнения команды, затем нажмите правую клавишу мыши в окне командной строки, выберите «Выделить все» затем (после выделения) нажмите Enter. Далее, для того чтобы увидеть трассировку, кликните правую клавишу мыши, затем нажмите «Вставить» в поле ввода сообщения.

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

В это теме мы подробно расскажем как это и зачем это нужно. Рассказывать будем все это для пользователей Windows. Предполагается, что пользователи других ОС достаточно продвинуты, что бы и так знать как им сделать аналогичные манипуляции, либо могут найти инструкции в Интернет сети без моей помощи. Сначала немного теории:

Зачем нужна трассировка? Иногда тот или иной сайт (как правило, вас волнует ваш сайт) вам недоступен. У этого могут быть разные причины:

  1. Проблемы на сервере (в том числе технические работы)
  2. Проблемы вашего провайдера доступа
  3. Проблемы на канале
  4. Проблемы с браузером
  5. Вас забанили и некоторые другие.

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

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

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

Так же, в качестве аналога обращения к знакомым, можем порекомендовать воспользоваться специализированными сервисами мониторинга доступности сайтов. Например: http://host-tracker.com/

Зайдя по указанной ссылке, вводите адрес сайта и нажимаете кнопку "check". Спустя некоторое время сервис покажет статусы доступности проверяемого сайта из разных точек мира. Если выдается результат "Ok", значит, опять же, речь идет о вашей локальной проблеме.

Как же сделать трассировку? Нажимаем "Пуск" далее нажимаем "Выполнить". Там латинскими буквами без кавычек пишем "cmd" и нажимаем "Ок" (либо "Enter"):

В появившемся командной строке опять же без кавычек пишем "tracert адрес интересующего сайта". Например, если трассеруем ucoz.ru, пишем "tracert ucoz.ru" и нажимаем ввод ("Enter").

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

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

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

Трассировка маршрута выполняется при помощи служебной программы Traceroute/Tracert . Эта программа входит в комплект поставки практически всех современных сетевых ОС (операционных систем, поддерживающих работу в компьютерных сетях). В ОС Microsoft Windows эта программа называется tracert, а в Linux и Mac OS X - traceroute.

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

Как производится трассировка маршрута в Windows? Программа tracert, как и программа ping, запускается из командной строки. На всякий случай напоминаем, как войти в командную строку в Windows . Есть три основных способа:

  1. Нажимаем на кнопку Пуск, выбираем пункт Выполнить, в поле Открыть пишем cmd и нажимаем на кнопку OK или клавишу Enter.
  2. Нажимаем Win+R (Win – это кнопка, на которой изображен логотип Windows), открывается такое же окно, как и в предыдущем случае, так что дальше действуем аналогично.
  3. Нажимаем на кнопку Пуск, выбираем пункт Все программы (или Программы для более ранних версий ОС), в нем - пункт Стандартные, в стандартных программах кликаем на пункт Командная строка.

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

Если вам не интересны имена промежуточных узлов то трассировка маршрута должна выполняться с параметром -d, который скрывает имена маршрутизаторов, например: tracert -d yandex.ru .

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

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

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

Как известно, сайты в сети, подобно сферическим коням в вакууме, сами по себе не существуют — их поддерживают большие мощные компьютеры, называемые серверами, а серверами этими ведает компания, называемая провайдером, или хостинг-провайдером. И чтобы все у всех правильно и хорошо отображалось, провайдер следит за своим сетевым оборудованием, в том числе серверами и каналами связи, через которые проходят данные. А у нас с вами, когда что-то где-то отваливается, есть возможность хотя бы приблизительно понять — что и где, чтобы решить, виноват ли хостинг, или тот провайдер, через которого мы выходим в интернет, или просто надо своими ручками вставить кабель в розетку (некоторые и это забывают).

В подобной диагностике нам поможет трассировка маршрута от нашего компьютера до нужного сайта. Выполняется эта трассировка с помощью команды traceroute, в Windows-варианте tracert . Чтобы запустить команду под Windows, зайдем в меню Пуск → Выполнить и наберем: cmd. Откроется совершенно черное окно с мигающим курсором — это и есть наша командная строка. Далее наберем tracert имя_сайта и посмотрим, что будет…

Например, у меня трассировка маршрута к сайту yandex.ru выглядит приблизительно так:

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

1 * * * Превышен интервал ожидания для запроса.
2 10 ms 10 ms 10 ms bla4703.mns.ru
3 10 ms 16 ms 10 ms core-239−214.bla-bla.ru
4 10 ms 10 ms 10 ms core-239−221.bla-bla.ru
5 15 ms 16 ms 16 ms ix1-m10.yandex.net
6 16 ms 15 ms 16 ms einstein-vlan501.yandex.net
7 16 ms 15 ms 16 ms hummer-vlan2.yandex.net
8 16 ms 10 ms 16 ms yandex.ru

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

Теперь разберемся, как это работает.

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

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

Таким образом можно установить, в каком месте цепочки находится проблема. Если пакеты не доходят до самого пункта назначения — значит, проблема в нем. Если цепочка обрывается на середине — проблема в каком-то из промежуточных маршрутизаторов. При этом с другого компьютера или по другому маршруту (если такой существует) наш отвалившийся сайт может быть доступен. Если пакеты не выходят за пределы сети нашего провайдера — стало быть, там и проблема. Ну, а чтобы узнать, в каких случаях нужно просто установить модемное соединение или вставить кабель в разъем сетевой карты, попробуйте его выдернуть (предварительно дочитав статью) и провести диагностику самостоятельно.



Понравилась статья? Поделиться с друзьями: