Телевизоры. Приставки. Проекторы и аксессуары. Технологии. Цифровое ТВ

Трассировка маршрута до сервера. TRACERT – трассировка маршрута к заданному узлу в командной строке Windows. Изменение размера отправляемых пакетов

    Утилита трассировки маршрута до заданного узла 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. Для чего это вам может понадобиться?
Обычно трассировка используется техническими специалистами для выявления проблем в сети. Например, у вас вдруг ни с того ни с сего в браузере перестал открываться какой-то конкретный сайт или открывается очень медленно. Вы с этой проблемой обращаетесь на форум своего интернет-провайдера. Там вас почти наверняка сразу попросят сделать трассировку до этого сайта и выложить результат.

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

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

Заходим на своем компьютере в “Пуск” – “Выполнить” (или можно нажать на клавиатуре одновременно клавиши Win+R ). Набираем команду cmd и жмем “ОК”:В открывшемся черном окне пишем команду и через пробел название интересующего нас сайта (вместо имени сайта можно использовать его IP-адрес):
После этого нажимаем клавишу Enter на клавиатуре.

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

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

Как видите, в моем случае трассировка далеко не прошла – остановка произошла где-то на оборудовании провайдера:

Полученные данные нам, вероятно, потребуется предоставить на форум провайдера. Можно просто сделать скриншот этого окна, но лучше скопировать эти данные в виде текста. Для этого щелкаем правой клавишей мыши прямо в этом окне – далее выбираем пункт “Выделить все”:
Затем жмем клавишу Enter на клавиатуре. Теперь весь текст находится в буфере обмена – можем вставить его в любой текстовый редактор или сразу в ответ на форуме (нажав правую кнопку мыши – “Вставить”, либо сочетанием клавиш Ctrl+V).

Трассировка (traceroute) — это инструмент диагностики сети. С её помощью можно узнать маршрут, включая промежуточные узлы, от Вашего компьютера к проверяемому сайту или ip адресу.
Если имеется проблема с доступом к сайту трассировка позволит идентифицировать причину.

Как выполнить трассировку

Нужно открыть командную строку, в операционной системе Виндовс это можно сделать несколькими способами.
Для Windows XP
— В меню Пуск раздел Стандартные откройте «Командная строка» , либо в меню Пуск нажмите на строку Выполнить , где пропишите cmd и нажмите Enter

Универсальный способ для Windows 7 ; Windows 8 , а так же Windows 10
— Нажмите на клавиатуре сочетание клавиш Win + R в открывшемся окошке пропишите cmd
Откроется черное окно, где Вам нужно прописать команду:
tracert ваш-домен.ru
и нажать Enter на клавиатуре
Для того чтобы скопировать результат необходимо нажать правой кнопкой мыши «Mark » («Выделить » или «Пометить «), выделяете текст и нажимаете Enter .

Выполняя команду tracert осуществляется отправка пакетов данных конкретному получателю (сайту или ip). Отправленные пакеты проходят через все промежуточные узлы между Вашим компьютером и получателем (обычно это маршрутизаторы разных провайдеров). Таким образом, с помощью трассировки определяется маршрут до нужного Вам сайта или ip адреса, и время отклика каждого промежуточного узла в миллисекундах. Чем время отклика меньше, тем быстрее осуществляется передача пакетов на этом участке маршрута.
Если на некоторых узлах команда возвращает звездочки *, значит, с трассировкой пакетов к этому хосту возникли проблемы. Для более детального анализа маршрута трассировки можно использовать mtr.

«Ааа, помогите, все пропало!» – если ваш внутренний голос реагирует на обрыв соединения с сервером примерно так, этот материал точно для вас. :) Безусловно, со своей стороны мы каждый день делаем все возможное, чтобы ничто не мешало вашей работе в , но случись форс-мажор – будем разбираться. А чтобы быстрее сориентироваться в ситуации и понять, на чьей стороне ошибка, вот вам задача-минимум – во время обрыва первым делом выполните трассировку маршрута и пинг промежуточных узлов. Как все это сделать, сейчас расскажем.

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

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

1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

tracert Х.Х.Х.Х (где Х.Х.Х.Х – это IP-адрес сервера или домен) и нажмите Enter .

В примере мы сделали трассировку для google.com.

tracert google.com

Получилось так:

1 2 1 ms 1 ms 1 ms 193.151.89.254
3 5 ms 4 5 1 ms 6 1 ms 7 1 ms 3 ms 1 ms bearline-ic-324086-ffm-b4.c.telia.net
8 1 ms 1 ms 1 ms 108.170.251.129
9 13 ms 13 ms 15 ms 66.249.94.135
10 13 ms 13 ms 13 ms fra15s12-in-f46.1e100.net

Как видим, наши пакеты преодолели десять (их может быть как меньше, так и больше) узлов, и преодолели их успешно. В противном случае, если бы пакеты «споткнулись» на одном из узлов, на нем (и последующих за ним узлах) мы бы увидели:

* * * Превышен интервал ожидания для запроса.

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

Пинг промежуточных узлов

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

В ОС Windows по умолчанию передается только четыре пакета, чего недостаточно, если проблема проявляется кратковременно. Поэтому нужно снять это ограничение параметром -t (чтобы потом остановить обмен пакетами, нажать CTRL+C ).

Теперь по порядку.

1. Запустите команду cmd: Win+R > пропишите cmd > ОК .

2. В открывшейся командной строке введите ping -t Х.Х.Х.Х (где Х.Х.Х.Х – это адрес одного из промежуточных узлов, которые мы узнали при трассировке) и нажмите Enter .

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

Полезно!
Если вам нужно постоянно отслеживать качество соединения, для Windows можно воспользоваться удобной программой PingPlotter.

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

ping -t 10.1.1.1
ping -t 193.151.89.254
ping -t 85.195.75.129
ping -t 213.248.79.29
ping -t 62.115.139.50
ping -t 62.115.120.8
ping -t 62.115.153.215
ping -t 108.170.251.129
ping -t 66.249.94.135
ping -t 216.58.208.46

Если в каком-нибудь из окон вы с первых же секунд видите «Превышен интервал ожидания», не спешите кричать: «Попался!». Если следующие узлы пингуются нормально, значит, этот просто закрыт настройками. В нашем случае, например, предпоследний узел (66.249.94.135) сразу же говорит, что интервал превышен, но с пингом десятого узла никаких проблем нет.

На чьей стороне ошибка?

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

Кто виноват – ясно, теперь нужно понять, что делать в конкретных ситуациях.

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

…а после обрыва начал показывать «Превышен интервал ожидания», обрыв происходит на вашем сервере.

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

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

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

Бонус!

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

Для ОС семейства Windows такую оптимизацию проводит утилита Winmtr . Она не нуждается в установке и готова к использованию сразу после распаковки из архива.

В поле Host укажите конечный сервер, с которым будет проверяться соединение, и нажмите Start :

В нашем примере видна трассировка маршрута и все промежуточные узлы. При этом к каждому из них направляются ICMP-пакеты, по которым можно определить качество связи.

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

Раз мы проверяем соединение с сервером, нас интересуют столбцы Sent (отправлено пакетов) и Recv (получено пакетов). Если значения в этих столбцах не совпадают, значит, качество связи с узлом ухудшилось. Что делать? Обратиться в соответствующую техподдержку.

Столбец Loss поможет просмотреть динамику потерь в процентном соотношении.

Также утилита позволяет копировать текст в удобных форматах (.txt и .html ) в буфер обмена (Copy to clipboard ) или в отдельный файл (Export ).

Двойной щелчок по промежуточному узлу позволит получить дополнительную информацию о нем.

Важно знать!

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

  1. Interval (sec) – время обновления данных в секундах.
  2. Max host in LRU list – максимальное количество хостов (или IP-адресов, если не активна опция Resolve names ) до конечной точки.
  3. Ping size (bytes) – размер ICMP-пакета.
  4. Resolve names – возможность преобразовать IP-адрес в имя хоста.

А что же линуксоиды?

Для ОС семейства Linux утилита называется просто MTR. Если ее нет в вашей операционной системе, установить ее можно одним из следующих способов:

Debian/Ubuntu/Mint:

$ apt-get install mtr

CentOS/RedHat/Fedora:

$ yum install mtr

У MTR такой же функционал, как у Winmtr, а также схожий графический интерфейс. Запустить утилиту можно командой:

где X.X.X.X – это IP-адрес конечного сервера или имя хоста.

В данном случае интересуют следующие столбцы:

  • Loss % – процент потерянных пакетов между компьютером-отправителем и промежуточными узлами.
  • SNT – общее количество отправленных пакетов.

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

Отдельно отметим возможность запуска утилиты в текстовом (консольном) режиме. Для этого достаточно добавить опцию -t или --curses:

mtr --curses сайт

Рассмотрим еще несколько важных опций MTR, которые могут быть крайне полезны в процессе диагностики сети.

R или --report

Запускает режим отчета, в котором MTR обработает заданное количество циклов (определенных опцией -c), а затем отобразит статистику и автоматически завершит работу. Этот режим полезен для сбора статистики о качестве сети.

C COUNT или --report-cycles COUNT

Позволяет задать количество циклов, после которых MTR завершит работу.

P BYTES или --psize BYTES

Устанавливает размер пакетов в байтах.

I SECONDS или --interval SECONDS

Задает интервал между отправляемыми пакетами.

N или --no-dns

Разрешает не использовать DNS, отображает IP-адреса узлов.

A X.X.X.X или --address X.X.X.X

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

Итого

Разумеется, команды в консоли дают более точный результат, поскольку фиксируют даже единичные потери пакетов (короткие обрывы), но Winmtr и MTR компактные и более удобны в использовании. А на чем остановить свой выбор, решать только вам. :)

Вот, собственно, и все, кто виноват – выяснили, что делать – тоже. :) Надеемся, материал был вам полезен, а если у вас остались дополнительные околооблачные вопросы, обращайтесь к нам за грамотной .

Метки: ,

Инструкция

Начните проверку трассировки в Windows. Запустите командный процессор cmd. Для этого кликните по кнопке «Пуск», находящейся в панели задач на рабочем столе либо нажмите кнопку Win на клавиатуре. В отображенном меню выберите пункт «Выполнить». Введите cmd в появившемся диалоге «Запуск программы». Нажмите кнопку OK.

Изучите параметры командной строки утилиты tracert. В окне командного процессора введите:tracert /?и нажмите Enter. Ознакомьтесь с отображенной информацией.

Проверьте трассировку в Windows при помощи утилиты tracert. В консоли введите команду вида:tracert <имя цели>и нажмите Enter. Дождитесь вывода результата трассировки. Здесь в качестве параметра <имя цели> должен быть указан IP-адрес целевой машины или соответствующее символическое имя (домен), разрешаемое в IP при помощи DNS.В случае необходимости используйте трассировку с произвольными параметрами. Например, для ускорения процесса используйте параметр -d. В этом случае не будет происходить определения символических имен промежуточных узлов по их IP-адресам. Используйте параметр -h для увеличения максимально возможного числа хопов, если цель не была достигнута за 30 прыжков (значение данного параметра по умолчанию). При наличии большого количества ошибок на промежуточных узлах, увеличьте время ожидания ответа о них, используя ключ -w.

Начните процесс проверки трассировки в Linux-подобных системах. Пройдите процедуру входа со своими учетными данными. Если это необходимо, запустите графическую оболочку и дождитесь окончания ее загрузки. Можно также продолжать работу в текстовой консоли. Если была загружена графическая оболочка, запустите эмулятор терминала (konsole, xterm, и т.д.).

Получите встроенную справку утилиты traceroute. В консоли введите команду:traceroute --helpи нажмите Enter. Ознакомьтесь с выведенной информацией.

Получите справку по работе traceroute, используя соответствующий пакет man-документации, если он установлен. Введите команду:man traceroute и нажмите Enter. Ознакомьтесь с информацией. Для выхода из режима чтения нажмите клавишу q.

Проверьте трассировку при помощи утилиты traceroute в Linux-подобных системах. Для совершения трассировки с параметрами по умолчанию введите в консоли команду вида:traceroute <имя цели>и нажмите Enter. Дождитесь завершения процесса. Назначение параметра <имя цели> аналогично тому, что было описано в третьем шаге. Для изменения поведения traceroute используйте соответствующие параметры командной строки.



Похожие публикации