traceroute

Материал из Seo Wiki - Поисковая Оптимизация и Программирование
Перейти к навигацииПерейти к поиску


traceroute — это служебная компьютерная программа, предназначенная для определения маршрутов следования данных в сетях TCP/IP. Traceroute основана на протоколе ICMP.

Файл:Ubuntutrace.png
Графический интерфейс к traceroute в gnome-nettool в Ubuntu 6.10

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

traceroute входит в поставку большинства современных сетевых операционных систем. В системах Microsoft Windows эта программа носит название tracert, а в системах GNU/Linux, Cisco IOS и Mac OStraceroute.

Принцип работы traceroute

Для определения промежуточных маршрутизаторов traceroute отправляет серию (обычно три) пакетов данных целевому узлу, при этом каждый раз увеличивая на 1 значение поля TTL («время жизни»). Это поле обычно указывает максимальное количество маршрутизаторов, которое может быть пройдено пакетом. Первая серия пакетов отправляется с TTL, равным 1, и поэтому первый же маршрутизатор возвращает обратно сообщение ICMP, указывающее на невозможность доставки данных. Traceroute фиксирует адрес маршрутизатора, а также время между отправкой пакета и получением ответа (эти сведения выводятся на монитор компьютера). Затем traceroute повторяет отправку серии пакетов, но уже с TTL, равным 2, что позволяет первому маршрутизатору пропустить их дальше.

Процесс повторяется до тех пор, пока при определённом значении TTL пакет не достигнет целевого узла. При получении ответа от этого узла процесс трассировки считается завершённым.

На оконечном хосте IP-дейтаграмма с TTL = 1 не отбрасывается и не вызывает ICMP-сообщения типа срок истёк, а должна быть отдана приложению. Достижение пункта назначения определяется следующим образом: отсылаемые traceroute дейтаграммы содержат UDP-пакет с таким номером UDP-порта адресата (превышающим 30 000), что он заведомо не используется на адресуемом хосте. В пункте назначения UDP-модуль, получая подобные дейтаграммы, возвращает ICMP-сообщения об ошибке «порт недоступен». Таким образом, чтобы узнать о завершении работы, программе traceroute достаточно обнаружить, что поступило ICMP-сообщение об ошибке этого типа.

Пример в Windows

Запуск программы производится из командной строки. Для этого вы должны войти в неё (Пуск — Выполнить — В графе «Открыть» пишется «cmd», нажимается Ок). В открывшемся окне пишете:

  tracert example.net

Где tracert — обращение к программе, а example.net — любой домен или IPv4 адрес.

  C:\Documents and Settings\Administrator>tracert ru.wikipedia.org
  
  Трассировка маршрута к rr.esams.wikimedia.org [91.198.174.2]
  с максимальным числом прыжков 30:
  
  1     1 ms    <1 ms    <1 ms  vpn4.kras.gldn [10.10.1.14]
  2     2 ms    <1 ms    <1 ms  C7604-BRAS4-FTTB.ranetka.ru [80.255.150.41]
  3     1 ms     1 ms     4 ms  C76-External.ranetka.ru [80.255.128.162]
  4     1 ms    <1 ms    <1 ms  pe-l.Krasnoyarsk.gldn.net [195.239.173.37]
  5    79 ms    79 ms    98 ms  cat01.Stockholm.gldn.net [194.186.157.62]
  6   131 ms   131 ms   132 ms  ams-ix.2ge-2-1.br1-knams.wikimedia.org [195.69.145.176]
  7   131 ms   131 ms   131 ms  te-8-2.csw1-esams.wikimedia.org [91.198.174.254]
  8   133 ms   134 ms   133 ms  rr.esams.wikimedia.org [91.198.174.2]
  
  Трассировка завершена.

Пример в Linux

В UNIX/Linux системах существуют режимы, в которых запуск программы возможен только от имени суперпользователя root (администратора). К числу этих режимов относится важный режим трассировки с помощью ICMP (ключ -I).

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

  [user@localhost ~]$ traceroute www.ru
  traceroute to www.ru (194.87.0.50), 30 hops max, 38 byte packets 
   1    mygateway.ar7                       (192.168.1.1)       0.777 ms    0.664 ms   0.506 ms
   2    L0.ghsdr04                          (213.227.224.91)   15.661 ms   15.867 ms  31.426 ms
   3    213.227.224.1                       (213.227.224.1)    16.797 ms   18.221 ms  16.756 ms
   4    dg                                  (213.186.216.161)  53.068 ms   39.163 ms  38.283 ms
   5    br13                                (213.186.193.43)   40.156 ms   39.768 ms  42.803 ms
   6    aggr                                (62.221.40.169)    37.884 ms   38.712 ms  37.207 ms
   7    edge-3GE-216dot1q.kiev.ucomline.net (213.130.30.182)   39.723 ms   38.039 ms  41.261 ms
   8    ae0-202.RT771-001.kiv.retn.net      (81.222.15.1)      40.029 ms   37.088 ms  40.039 ms
   9    ae0-3.RT502-001.msk.retn.net        (81.222.15.1)     128.932 ms  122.043 ms 121.612 ms
  10    GW-Demos.retn.net                   (81.222.8.46)     120.023 ms  121.135 ms 119.493 ms
  11    iki-1-vl10.demos.net                (194.87.0.83)     119.074 ms  119.784 ms 123.607 ms
  12    www.ru                              (194.87.0.50)     120.358 ms  122.545 ms 119.399 ms

Альтернативы и дополнения к traceroute

Файл:Tracemap.png
Полученная с помощью tracemap графическая карта трассировки пути на корневые сервера DNS с хоста, расположенного в Киеве
  • tracepath — похожая на traceroute программа, но может строить асимметричные трассы и имеет некоторые другие отличия.
  • mtr — Интерактивная программа, способная постоянно выводить обновлённую статистику по трассе.
  • tracemap — программа, позволяющая выполнять трассировку пути на несколько хостов сразу и представить полученные данные в виде графической карты.
  • tcptraceroute — аналогичная traceroute программа, но предназначена для диагностики TCP соединений; вместо UDP-пакетов использует TCP-пакеты открытия соединения (SYN|ACK) с указанным сервисом (по умолчанию — web-сервер, порт 80) интересующего хоста; в результате получаем информацию о времени прохождения данного вида TCP-пакетов через маршрутизаторы и информацию о доступности сервиса на интересующем хосте, либо, в случае проблем с доставкой пакетов — видим в каком месте трассы они возникли.

См. также

Ссылки

  • tracemap — программа, позволяющая выполнять трассировку пути на несколько хостов сразу и представить полученные данные в виде графической карты.
  • traceroute.org — трассировка из разных точек мира он-лайн.
  • geotrace — он-лайновый визуализатор результатов программы traceroute на карте Google Earth.
  • trace.die.net

cs:Traceroute de:Traceroute en:Traceroute es:Traceroute eu:Traceroute fi:Traceroute fr:Traceroute he:Traceroute hu:Tracert id:Traceroute it:Traceroute ja:Traceroute ml:ട്രേസ്റൂട്ട് nl:Traceroute no:Traceroute pl:Traceroute pt:Traceroute ro:Traceroute sv:Traceroute tr:Traceroute zh:Traceroute

Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....