Как запустить traceroute в linux
Содержание:
- HyperTrace
- На чьей стороне ошибка?
- Утилита Traceroute
- Трассировка маршрута
- Что такое TTL?
- Traceroute Test FAQ
- Troubleshooting
- RemarksRemarks
- VisualRoute Lite
- Назначение и применение Tracert на практике
- Опции команды Tracert
- Примеры команд Tracert
- Чем Tracert отличается от Ping?
- Как скопировать результаты пинга и трассировки из командной строки?
- Как мы можем использовать команду TRACERT для обнаружения проблем
- Утилита MTR
- Prerequisites
- Назначение и применение tracert на практике
- Traceroute options for Windows
HyperTrace
AnalogX HyperTrace — это версия traceroute с графическим пользовательским интерфейсом. Если у вас когда-либо были проблемы с подключением к Интернету, но вы не знаете, в чем проблема, этот инструмент может вам помочь.
Благодаря HyperTrace мы сможем визуально проверять маршрут, по которому наши пакеты данных проходят через Интернет. Таким образом, мы получаем точную информацию о текущем состоянии нашего подключения к Интернету и о происшествии. Следует также отметить, что это базовый инструмент по сравнению с другими инструментами этого типа. Однако у него есть один очень положительный момент: он совместим со всеми версиями Windows, а также является бесплатным. Если вы хотите попробовать HyperTrace, щелкните следующее ссылке .
На чьей стороне ошибка?
Итак, обрыв повторился. Но на этот раз запущенный пинг промежуточных узлов поможет «обличить» виновника. Тут все просто – с какого узла вам начало выдавать «Превышен интервал ожидания», тот и слабое звено.
Кто виноват – ясно, теперь нужно понять, что делать в конкретных ситуациях.
1. Последний узел.
Если последний узел сначала пинговался нормально (некоторые Windows-машины вообще не отвечают на пинг, это задается в настройках брандмауэра)…
…а после обрыва начал показывать «Превышен интервал ожидания», обрыв происходит на вашем сервере.
В этом случае зайдите в панель управления, запустите консоль и войдите в операционную систему, чтобы разобраться, почему сервер не работает. Если окажется, что операционная система зависла, перезагрузите сервер.
2. Любые узлы, кроме последнего.
В этом случае обращайтесь одновременно в техподдержку и облачного, и интернет-провайдера. При этом обязательно укажите, как изначально выглядела трассировка маршрута, и составьте перечень узлов с указанием, на каких из них пинг во время обрыва прервался, а на каких нет. Будьте внимательны, это важная информация, не ошибитесь.
3. Все узлы одновременно.
Если все окна с пингом начали показывать «Превышен интервал ожидания», проблема в вашем компьютере или сети, к которой он подключен.
Утилита Traceroute
Перед тем как перейти к примерам работы с утилитой давайте рассмотрим ее синтаксис и основные опции. Синтаксис вызова очень прост:
$ traceroute опции адрес_узла
В качестве адреса может использоваться ip адрес или доменное имя. Рассмотрим основные опции:
- -4 или -6 — использовать ipv4 или ipv6 протокол;
- -I — использовать ICMP пакеты вместо UDP;
- -T — использовать TCP пакеты вместо UDP;
- -F — не фрагментировать пакеты;
- -f — указать TTL с которого нужно начать;
- -g — передавать пакет через указанный шлюз;
- -i — передавать пакет через указанный интерфейс;
- -m — максимальное количество узлов, через которые пройдет пакет;
- -q — количество пакетов, отправляемых за раз, по умолчанию три;
- -n — не узнавать доменные имена;
- -p — указать порт вместо порта по умолчанию;
- -w — установить время ожидания ответа от узла, по умолчанию полсекунды;
- -r — использовать другой роутер вместо того, что указанный в таблице маршрутизации;
- -z — минимальный интервал между пакетами;
- -U — использовать UDP с увеличением номера порта;
- -UL — использовать протокол UDPLITE;
- -D — использовать протокол DCCP;
- —mtu — указать размер пакета;
- -P — протокол, доступны такие значения: raw, dccp, udplite, udp, tcpconn, tcp, icmp.
Это не все опции утилиты, но все основные, которыми вы будете пользоваться. Дальше перейдем практике того, как выполняется трассировка сети Linux.
Трассировка маршрута
Использование утилиты «Tracert».
Рассмотрим пример работы программы в операционной системе Windоws. Программа tracert выполняет отправку данных указанному узлу сети, при этом отображая сведения о всех промежуточных маршрутизаторах, через которые прошли данные на пути к целевому узлу. В случае проблем при доставке данных до какого-либо узла программа позволяет определить, на каком именно участке сети возникли неполадки. Здесь хочется отметить, что программа работает только в направлении от источника пакетов и является весьма грубым инструментом для выявления неполадок в сети. В силу особенностей работы протоколов маршрутизации в сети Интернет, обратные маршруты часто не совпадают с прямыми, причем это справедливо для всех промежуточных узлов в трейсе. Поэтому ICMP ответ от каждого промежуточного узла может идти своим собственным маршрутом, затеряться или прийти с большой задержкой, хотя в реальности с пакетами, которые адресованы конечному узлу, этого не происходит. Кроме того, на промежуточных маршрутизаторах часто стоит ограничение числа ответов ICMP в единицу времени, что приводит к появлению ложных потерь.
Запуск программы производится из командной строки. Для этого вы должны войти в неё. Для операционных систем семейства Windows существует несколько способов запуска командной строки:
1. Пуск — Выполнить — В графе «Открыть» написать «cmd» и нажать Ок.
2. Сочетание клавиш Win (кнопка с логотипом Windows) + R (должны быть нажаты одновременно) — В графе «Открыть» написать «cmd» и нажать Ок.
3. Пуск — Все программы (или просто «Программы», зависит от версии операционной системы) — Стандартные — Командная строка.
Далее вам необходимо произвести трассировку до заданного ip адреса или доменного имени.
Использование утилиты «Pathping
PathPing предоставляет информацию о латентности сети и потерях данных на промежуточных узлах между исходным пунктом и пунктом назначения. Команда pathping в течение некоторого периода времени отправляет многочисленные сообщения с эхо-запросом каждому маршрутизатору, находящемуся между исходным пунктом и пунктом назначения, а затем на основании пакетов, полученных от каждого из них, вычисляет результаты. Поскольку pathping показывает коэффициент потери пакетов для каждого маршрутизатора или связи, можно определить маршрутизаторы или подсети, имеющие проблемы с сетью. Команда pathping выполняет эквивалентное команде tracert действие, идентифицируя маршрутизаторы, находящиеся на пути.
Запуск программы производится из командной строки. Для этого вы должны войти в неё. Для операционных систем семейства Windows существует несколько способов запуска командной строки:
1. Пуск — Выполнить — В графе «Открыть» написать «cmd» и нажать Ок.
2. Сочетание клавиш Win (кнопка с логотипом Windows) + R (должны быть нажаты одновременно) — В графе «Открыть» написать «cmd» и нажать Ок.
3. Пуск — Все программы (или просто «Программы», зависит от версии операционной системы) — Стандартные — Командная
Внимание! Выполнение данной команды потребует некоторое время, необходимо дождаться полного выполнения, как указано в примере ниже
Копирование текста из командной строки.
Чтобы скопировать текст к кликаем правой кнопкой мышки по командной строке и вызываем контекстное меню. В открывшемся меню выбираем пункт «Пометить». После этого текст в командной строке можно выделить обычным движением мышкой и скопировать с помощь комбинации клавиш Ctrl+C.
Далее результаты необходимо будет переслать на электронный адрес почты 911@profintel.ru, с указанием вашего id номера и кратким описанием вашей проблемы.
Что такое TTL?
После запуска tracert в окне командной строки можно прочесть такую фразу: «с максимальным числом прыжков 30» (на русском или английском).
Количество таких прыжков (hops) определяет параметр TTL (Time To Live), или время жизни. Он задает то, как долго переданные пакеты данных могут жить прежде чем будут отброшены. По умолчанию задаётся 30 прыжков. Если пакеты не достигают цели через 30 переходов, они автоматически отбрасываются.
tracert –h 4 google.com
Вышеуказанная запись означает, что когда данные достигают четвертого прыжка (узла), они отбрасываются и не передаются далее.
Для чего вообще нужен TTL? TTL способен предотвратить бесконечное перемещение пакета данных по сети Интернет в попытках найти пункт назначения. Такое может случиться, если некоторые маршрутизаторы в Интернет были неправильно настроены, и данные могут попасть в бесконечный цикл между этими маршрутизаторами без перспективы «прорваться» на следующий узел на своем пути до цели.
Получается так, что эти «неправильные» маршрутизаторы заняты постоянной обработкой присланных однажды пакетов, что мешает обработке последующих.
Traceroute Test FAQ
Using the Traceroute Tool
This tool is typically used to diagnose hiccups or interruptions in the transfer of data and pinpoint where along the chain it occurred. This IPv4 or IPv6 traceroute is unique in that it allows you to simultaneously test different locations at once. This lets you quickly determine if there is any packet loss or unexpected latency to the given IP or hostname. A CDN can help dramatically reduce latency by minimizing the distance between hops.
What is Traceroute?
Traceroute, also called tracert, is a utility that uses ICMP packets to record the route through the internet from one computer to another. It calculates the time taken for each hop as the packet is routed to the destination. To guarantee accuracy, each hop is queried multiple times (in this case four times) to better measure the response of that particular hop.
Troubleshooting
You have now seen the output of the traceroute command when everything worked as it should. Let’s look at two examples where we don’t have end-to-end connectivity. I only need these three routers for this example:
Destination Unreachable
Let’s start with a destination that is unreachable. I will add a new loopback on R3 with an IP address:
Right now, none of our routers know how to reach 3.3.3.3. Let’s see what the traceroute output looks like:
Above we see that none of the probes make it to the destination. Let’s add a static route on R1 so that this traffic makes it to R2 at least:
And do another traceroute:
Now we can see that R1 is able to forward it, R2 responds that it’s unreachable. Let’s add the static route on R2:
And try one more trace:
Now we are able to make it to the destination.
Source Unreachable
We can use traceroute to figure out if we can reach a certain destination, but you can also use it to check if other routers know about your source. Let’s add another loopback interface, this time on R1:
I will now do a traceroute to 192.168.3.1 with 1.1.1.1 as our source. We know that 192.168.3.1 is reachable since we tried it before. Let’s take a look:
This trace is failing. Nobody knows how to reach 1.1.1.1. Let’s add a static route on R2:
R2 now knows how to reach 1.1.1.1. Let’s try that traceroute again:
R2 is now responding. This tells us that the problem is not between R1 and R2 but somewhere further down the line. Let’s add the last static route:
R3 now also knows how to get to 1.1.1.1. Let’s try that trace:
Which now completes successfully.
If you see some asterisks (timeouts) in your trace for some routers, then this router (or firewall) is probably configured with an access-list and configure not to respond with any TTL expired messages.
RemarksRemarks
- Это средство диагностики определяет путь, полученный к назначению, отправляя сообщения эхо-запросов ICMP с различными значениями срока жизни (TTL) назначения.This diagnostic tool determines the path taken to a destination by sending ICMP echo Request messages with varying time to Live (TTL) values to the destination. Каждый маршрутизатор по пути должен уменьшить срок жизни в пакете IP по меньшей мере до 1 перед его пересылкой.Each router along the path is required to decrement the TTL in an IP packet by at least 1 before forwarding it. Фактически, TTL является максимальным счетчиком ссылок.Effectively, the TTL is a maximum link counter. Если срок жизни пакета достигнет значения 0, то ожидается, что маршрутизатор вернет сообщение об истечении времени ICMP на исходный компьютер.When the TTL on a packet reaches 0, the router is expected to return an ICMP time Exceeded message to the source computer. Трассировка определяет путь путем отправки первого сообщения эхо-запроса с TTL 1 и приращением TTL на 1 для каждой последующей передачи до тех пор, пока целевой объект не ответит или не будет достигнуто максимальное число прыжков.tracert determines the path by sending the first echo Request message with a TTL of 1 and incrementing the TTL by 1 on each subsequent transmission until the target responds or the maximum number of hops is reached. Максимальное число прыжков равно 30 по умолчанию и может быть указано с помощью параметра /h .The maximum number of hops is 30 by default and can be specified using the /h parameter. Путь определяется путем проверки превышения времени ICMP сообщений, возвращенных промежуточными маршрутизаторами, и сообщения эхо-ответа, возвращаемого назначением.The path is determined by examining the ICMP time Exceeded messages returned by intermediate routers and the echo Reply message returned by the destination. Однако некоторые маршрутизаторы не возвращают сообщения о превышении времени для пакетов с истекшими значениями TTL и невидимы для команды tracert.However, some routers do not return time Exceeded messages for packets with expired TTL values and are invisible to the tracert command. В этом случае для этого прыжка отображается строка звездочек (*).In this case, a row of asterisks (*) is displayed for that hop.
- Для трассировки пути и обеспечения сетевой задержки и потери пакетов для каждого маршрутизатора и ссылки в пути используется команда pathping .To trace a path and provide network latency and packet loss for each router and link in the path, use the pathping command.
- Эта команда доступна, только если протокол Internet Protocol (TCP/IP) установлен в качестве компонента в свойствах сетевого адаптера в окне Сетевые подключения.This command is available only if the Internet Protocol (TCP/IP) protocol is installed as a component in the properties of a network adapter in Network Connections.
VisualRoute Lite
Еще одна из лучших программ Traceroute — VisualRoute Lite, это бесплатное программное обеспечение, если его использование не является коммерческим. С VisualRoute Lite мы можем получить мгновенный анализ производительности подключения к Интернету, задержки в сети, плохого качества подключения, вызванного потерей пакетов, и определить ответственного поставщика услуг (ISP). Таким образом, мы можем определить, связана ли неисправность Интернета с нашим интернет-провайдером или с проблемой Интернета.
В этой облегченной версии доступно два раздела дисплея. Таким образом, вверху представлен обзор, показывающий основную статистику, обнаруженную во время пути обхода. Внизу мы находим график маршрута, который показывает, как маршрут был проложен в зависимости от времени в пути туда и обратно. Если вы хотите попробовать эту программу в ее версии для Windows или Mac OS X, вы можете сделать это, щелкнув следующую ссылке .
Назначение и применение Tracert на практике
Tracert – не просто некая абстрактная команда, которую понимает командная строка, а полноценная программа. Точнее, служебное консольное (не имеющее оконного интерфейса) Windows-приложение, предназначенное для определения пути, по которому направляются сетевые пакеты от одного узла к другому. Имя приложения образовано от «trace route», что означает «трассировка маршрута».
Программа Tracert является собственным компонентом Windows (устанавливается на компьютер вместе с ОС), ее исполняемый файл – TRACERT.exe, постоянно находится в папке %windir%/system32.
Для простоты понимания работы трассировщика представим сетевой пакет как обычную посылку, которую вы отправили по почте в соседний город. На пути следования к адресату (конечному узлу), посылка делает несколько остановок на сортировочных пунктах (промежуточных узлах), где ее регистрируют и отсылают дальше. Вы, как отправитель, зная почтовый трек-номер посылки, можете следить за ее передвижением на специальных сайтах. Если отправление вовремя не доставлено, вы легко узнаете, на каком этапе пути оно потерялось.
Подобным образом работает и Tracert. Только он предоставляет информацию о не почтовых, а о сетевых отправлениях.
Обратите внимание на сходство этих записей:
Трассировка применяется как один из инструментов комплексной диагностики сетевых сбоев. Так, с ее помощью можно определить:
- На каком уровне происходит блокировка недоступного веб-ресурса: на уровне домашней сети (пакеты не отсылаются дальше шлюза), в сети провайдера или за ее пределами.
- Где пакеты сбиваются с правильного маршрута. Например, причиной того, что вместо запрашиваемого сайта открывается страница с рекламой, может быть и вредоносная программа на компьютере пользователя, и перенаправление с какого-либо сетевого узла.
- Является ли веб-ресурс тем, за что себя выдает.
Опции команды Tracert
Когда мы используем команду Tracert, в дополнение к записи команды Tracert и IP-адреса или имени сервера в консоли системных символов, мы можем записать ряд параметров для изменения или получения дополнительных данных, для этого мы должны ввести команду «Tracert Пробел, и следовал один из вариантов, которые мы укажем ниже. Примером может быть: Tracert -d 192.168.1.1
Посмотрим, какие у нас есть варианты:
- -d: эта опция заставляет команду Tracert не выполнять поиск DNS для всех IP-адресов. То есть вместо того, чтобы показывать имя маршрутизатора, он будет показывать нам только свой IP-адрес.
- -h: эта опция позволяет нам указать максимальное количество прыжков, которое может выполнить команда Tracert. Для этого мы должны ввести команду следующим образом. Tracert -h «количество прыжков» «IP-адрес или имя хоста» .
- -j: эта опция указывает команде tracert, что будет нестрогим источником запроса к хосту. Чтобы сделать это, мы должны ввести опцию -j, пробел, за которым следует исходный хост, который мы хотим. Работает только с IPv4 IP-адресами.
- -w: эта опция используется для указания максимального времени ожидания в миллисекундах в каждом ответе до сбоя соединения. Для этого мы должны ввести опцию -w, пробел и время в миллисекундах, которые мы хотим.
- -R: эта опция используется для следования по обратному маршруту. Работает только с IPv6 IP-адресами.
- -S: эта опция служит для указания команде tracert, какой адрес источника мы хотим использовать. Для этого мы должны ввести опцию -s, пробел, а затем IP-адрес источника.
- -4: этот параметр служит для принудительного использования IP-адресов IPv4.
- -6: эта опция помогает нам принудительно использовать IP-адреса IPv6.
Примеры команд Tracert
tracert 192.168.1.1
В приведенном выше примере команда tracert используется для отображения пути от сетевого компьютера, на котором выполняется команда tracert сетевым устройством, в данном случае маршрутизатором в локальной сети, которому назначена 192.168.1.1 Айпи адрес. Результат, отображаемый на экране, будет выглядеть примерно так:
В этом примере вы можете увидеть, что tracert обнаружил сетевое устройство, использующее IP-адрес 192.168.1.254 , скажем, сетевой коммутатор, за которым следует пункт назначения, 192.168.1.1 , маршрутизатор.
tracert www.google.com
Используя команду tracert, как показано выше, мы просим tracert показать нам путь от локального компьютера до сетевого устройства с именем хоста www.google.com .
В этом примере мы видим, что tracert идентифицировал пятнадцать сетевых устройств, включая наш маршрутизатор, на 10.1.0.1 и вплоть до цель из www.google.com , который мы теперь знаем, использует общедоступный IP-адрес 209.85.225.104 , который просто один из многих IP-адресов Google.
Замечания: Хлопсы с 4 по 12 были исключены выше, чтобы просто привести пример. Если вы выполняете реальный трассер, все результаты будут отображаться на экране.
tracert -d www.yahoo.com
В этом последнем примере команды tracert мы снова запрашиваем путь к веб-сайту, на этот раз www.yahoo.com , но теперь я предотвращаю tracert от разрешения имен хостов, используя -d вариант.
В этом примере мы видим, что tracert снова идентифицировал пятнадцать сетевых устройств, включая наш маршрутизатор, на 10.1.0.1 и вплоть до цель из www.yahoo.com , который мы можем предположить, использует общедоступный IP-адрес 209.191.122.70 .
Как вы можете видеть, на этот раз tracert не разрешил имена хостов, что значительно ускорило процесс.
Чем Tracert отличается от Ping?
Широкоизвестная команда PING используется для проверки связи с сервером. Ваш компьютер отправляет четыре пакета данных в пункт назначения, и как только они прибудут туда, пакеты вернутся обратно на ваш компьютер.
Если вы получили все или только часть пакетов данных на свой компьютер, это говорит о наличии общего соединения между вашим ПК и конечным пунктом. Кроме этого, вы получите данные о том, сколько по времени (в миллисекундах) заняло путешествие пакетов данных туда-обратно.
Traceroute даст нам больше информации – утилита не только проверит наличие связи с конечным пунктом назначения, но и с каждым маршрутизатором на этом пути. Она измерит время приема-передачи пакетов данных от каждого встреченного на пути маршрутизатора.
Как скопировать результаты пинга и трассировки из командной строки?
Даже если трассировка по домену прошла успешно, стоит «пропинговать» сервер, чтобы увидеть, не теряются ли пакеты. Да и техподдержка может попросить статистику обмена данных вместе с отчетом о трассировке.
Вводим: tracert и IP адрес, нажимаем «ввод» и получаем отчет. Если данные нужны не лично вам, а для тех. поддержки, выделяем мышкой нужные строки и нажимаем «enter». Информация попадает в буфер обмена. Создаем текстовый файл и вставляем комбинацией клавиш Ctrl V. Сохраняем и отправляем в техподдержку.
iPipe – надёжный хостинг-провайдер с опытом работы более 15 лет.
Мы предлагаем:
Как мы можем использовать команду TRACERT для обнаружения проблем
Мы должны помнить, что команда tracert очень полезна в очень больших локальных сетях, где пакет может выбирать разные пути для достижения своего конечного хоста. Благодаря этому мы можем знать, через какое оборудование проходит пакет данных, и, таким образом, повысить производительность локальной сети. Теперь мы увидим пример того, что происходит, когда команда Tracert отправляет пакет данных, который не может достичь своего места назначения:
Как мы видим, пакет переходит с маршрутизатора на маршрутизатор и ищет хост назначения. Некоторые маршрутизаторы показывают сообщение об ошибке «тайм-аут», потому что они, вероятно, имеют ограниченный tracert на своих компьютерах, поскольку он является частью внутренней сети оператора.
Утилита MTR
Программа MTR существует в версиях для большинства операционных систем. Принцип ее работы очень похож на команду tracer (traceroute). Она опрашивает заданный узел в течение определенного промежутка времени, при этом позволяя зафиксировать изменения задержек.
Версия утилиты для Windows имеет название WinMTR и распространяется бесплатно.
Пользователю предоставляется возможность работать с графическим интерфейсом, в котором необходимо указать IP-адрес или домен узла назначения, запустить сбор статистики. Как правило, для анализа необходимо отправить минимум 100 пакетов.
Пользователям Linux также придется MTR устанавливать дополнительно из репозиториев. В этих операционных системах обычно используется консольная версия утилиты. Пользователю доступны разнообразные параметры, позволяющие задать количество отправляемых пакетов, запись отчета в файл, таймаут. Также версия для Linux может использовать для тестирования определенные порты или TCP-пакеты.
Prerequisites
Requirements
Readers of this document should have basic knowledge of one of these operating systems:
-
Cisco IOS Software
-
Linux
-
Microsoft Windows
Components Used
The information in this document applies to these software and hardware versions:
-
Cisco Router that runs Cisco IOS Software Release 12.2(27)
-
PC that runs Red Hat Linux version 9
-
PC that runs MS Windows 2000
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Назначение и применение tracert на практике
Tracert – не просто некая абстрактная команда, которую понимает командная строка, а полноценная программа. Точнее, служебное консольное (не имеющее оконного интерфейса) Windows-приложение, предназначенное для определения пути, по которому направляются сетевые пакеты от одного узла к другому. Имя приложения образовано от «trace route», что означает «трассировка маршрута».
Программа Tracert является собственным компонентом Windows (устанавливается на компьютер вместе с ОС), ее исполняемый файл – TRACERT.exe, постоянно находится в папке %windir%/system32.
Для простоты понимания работы трассировщика представим сетевой пакет как обычную посылку, которую вы отправили по почте в соседний город. На пути следования к адресату (конечному узлу), посылка делает несколько остановок на сортировочных пунктах (промежуточных узлах), где ее регистрируют и отсылают дальше.
Подобным образом работает и Tracert. Только он предоставляет информацию о не почтовых, а о сетевых отправлениях.
Обратите внимание на сходство этих записей:
Трассировка применяется как один из инструментов комплексной диагностики сетевых сбоев. Так, с ее помощью можно определить:
Traceroute options for Windows
You can use the Tracert command with various options to perform more precise tests. The following options work on Windows Vista, Windows 7, Windows 8, and of course, Windows 10.
Option |
Description |
-d |
Do not resolve addresses to hostnames. |
-h aximum_hops |
Maximum number of hops to search for target. You can put higher than 30, if you want to query a very remote target. |
-j host-list |
Loose source route along host-list (IPv4-only). Show only IPv4 addresses. |
-w timeout | Wait timeout milliseconds for each reply. Inscrease it, to see more about slower routers. |
-R |
Trace round-trip path (IPv6-only). |
-S srcaddr |
Source address to use (IPv6-only). |
-4 |
Force using IPv4. |
-6 |
Force using IPv6. |