Использование расширенных команд ping и traceroute
Содержание:
- Утилита Traceroute
- Реализации
- What is the Difference between Tracert vs Traceroute?
- Tracert Parameters
- Команда ipconfig
- Параметры Tracert
- Диагностика разрешения имен (nslookup, dig)
- Назначение и применение Tracert на практике
- Использование команды Debug
- Команда traceroute Linux
- How Does Traceroute Works?
- Команда tracert (traceroute)
- Как читать результат трассировки
- Команда tracert.
Утилита 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.
Реализации
Команда доступна на многих современных операционных системах . В Unix-подобных системах, таких как FreeBSD , macOS и Linux, он доступен как инструмент командной строки. Traceroute также доступен графически в macOS из пакета сетевых утилит .
Microsoft Windows и ReactOS предоставляют программу с именем, которая выполняет ту же функцию отслеживания маршрута. Операционные системы на базе Windows NT также предоставляют PathPing с аналогичными функциями. Версия ReactOS была разработана Гедом Мерфи и находится под лицензией GPL .
В Unix-подобных операционных системах traceroute по умолчанию отправляет последовательность пакетов протокола дейтаграмм пользователя (UDP) с номерами портов назначения от 33434 до 33534; реализации traceroute, поставляемые с Linux , FreeBSD , NetBSD , OpenBSD , DragonFly BSD и macOS, включают возможность использования пакетов эхо-запроса ICMP ( -I ) или любого произвольного протокола ( -P ), такого как UDP, TCP с использованием пакетов TCP SYN , или ICMP.
В Windows tracert отправляет пакеты ICMP Echo Request, а не UDP-пакеты, которые traceroute отправляет по умолчанию.
Значение времени жизни (TTL), также известное как предел перехода , используется при определении промежуточных маршрутизаторов, которые проходят по направлению к месту назначения. Traceroute отправляет пакеты со значениями TTL, которые постепенно увеличиваются от пакета к пакету, начиная со значения TTL, равного единице. Маршрутизаторы уменьшают значения TTL пакетов на единицу при маршрутизации и отбрасывают пакеты, значение TTL которых достигло нуля, возвращая сообщение об ошибке ICMP ICMP Time Exceeded . Для первого набора пакетов первый маршрутизатор получает пакет, уменьшает значение TTL и отбрасывает пакет, поскольку тогда он имеет нулевое значение TTL. Маршрутизатор отправляет сообщение ICMP Time Exceeded обратно источнику. Следующему набору пакетов присваивается значение TTL, равное двум, поэтому первый маршрутизатор пересылает пакеты, но второй маршрутизатор отбрасывает их и отвечает ICMP Time Exceeded. Действуя таким образом, traceroute использует возвращенные сообщения ICMP Time Exceeded для создания списка маршрутизаторов, которые проходят пакеты, пока пункт назначения не будет достигнут, и возвращает сообщение ICMP Destination Unreachable, если используются пакеты UDP, или сообщение ICMP Echo Reply, если ICMP Echo сообщения используются.
Значения временных меток, возвращаемые для каждого маршрутизатора на пути, представляют собой значения задержки ( задержки ), обычно измеряемые в миллисекундах для каждого пакета.
Отправитель ожидает ответа в течение указанного количества секунд. Если пакет не подтвержден в течение ожидаемого интервала, отображается звездочка. Интернет-протокол не требует, чтобы пакеты шли по одному и тому же маршруту к определенному месту назначения, поэтому перечисленные хосты могут быть хостами, которые прошли другие пакеты. Если узел на узле №N не отвечает, переход пропускается в выходных данных.
Если сеть имеет брандмауэр и работает как с Windows, так и с Unix-подобными системами, для работы traceroute и приема ответов через брандмауэр необходимо включить более одного протокола.
Некоторые реализации traceroute используют TCP-пакеты, такие как tcptraceroute и traceroute четвертого уровня (lft). PathPing — это утилита, представленная в Windows NT, которая сочетает в себе функции ping и traceroute. MTR — это расширенная версия ICMP traceroute, доступная для Unix-подобных и Windows систем. Все различные реализации traceroute полагаются на пакеты ICMP Time Exceeded (тип 11), отправляемые источнику.
В Linux tracepath — это утилита, аналогичная traceroute, с той лишь разницей, что не требует прав суперпользователя .
Реализация traceroute в Cisco также использует последовательность дейтаграмм UDP , каждая из которых содержит увеличивающиеся значения TTL до недопустимого номера порта на удаленном хосте; по умолчанию используется UDP-порт 33434. Расширенная версия этой команды (известная как расширенная команда traceroute ) может изменять номер порта назначения, используемый для зондирующих сообщений UDP.
What is the Difference between Tracert vs Traceroute?
Tracert and Traceroute have different syntax but both of these commands do the basic same thing.
What makes them different is the Operating System where they are executed, Tracert for Windows and Traceroute for Linux.
The other thing is how each command is implemented in the background.
On the foreground, you see the same kind of information for both cases. As a result of running tracert or traceroute, you will see the same route and transit delays of packets across the entire path.
The command is available in Unix-based, Linux, and MacOS as ‘traceroute’, while it is available as ‘tracert’ in Windows.
Tracert Parameters
Parameter | Description |
---|---|
-d | Do not resolve addresses of intermediate routers to their hostnames. This can speed up tracert performance. |
-h maximum_hops | Set the maximum number of hops in the path to search for target. Default is 30 hops. |
-j host-list | Loose source route along host-list (IPv4-only). With loose source routing, successive intermediate destinations can be separated by one or more routers. The maximum number of addresses of names is the host list is nine (9). The hostlist is simply a series of IP addresses in dotted decimal notation (e.g., 192.168.128.8) each separated by spaces. This parameter is only for IPv4 addresses. |
-w timeout | Set the amount of time (in milliseconds) to wait for each reply. |
-R | Trace round-trip path (IPv6-only). |
-S srcaddr | Source address to use (IPv6-only). |
-4 | Force tracert to use IPv4 for the trace. |
-6 | Force tracert to use IPv6 for the trace. |
TargetName | Specifies the destination, either an IP address or a host name. |
/? | Displays help information. |
Команда ipconfig
Следующая важная команда — ipconfig. Введите ее. У меня получилось вот так:
Настройка протокола IP для Windows
Ethernet — Ethernet адаптер:
DNS-суффикс этого подключения . . : srcc.msu.ru
IP-адрес . . . . . . . . . . . . : 192.168.17.139
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 192.168.17.240
C:\Documents and Settings\Администратор>
В данном случае получился адрес 192.168.17.139. Можно этот адрес тоже пропинговать (вы пингуйте свой) — пакеты должны доходить мгновенно. Основной шлюз — это адрес, на который компьютер отправляет пакеты, не найдя подходящего адреса в своей сети. Так, в моем случае все пакеты, кроме пакетов на 192.168.17.* будут отправлены на 192.168.17.240, а тот компьюьтер уже должен решить, что с ними делать и куда их переправлять дальше. Примечание: локальная сеть, то есть те адреса, пакеты на которые не отправляются на шлюз, определяется при помощи маски — нолик на последнем месте и 255 на всех предыдующих как раз и означает, что может буть произвольным последнее число в IP-адресе.
Одно из стандартных действий при поиске проблем подключения — пропинговать свой шлюз. Если пакеты до него не доходят, то, видимо, проблема где-то рядом, например, поврежден или плохо воткнут сетевой шнур. Также стоит знать, где физически находится компьютер с вашим основным шлюзом — у провайдера, где-то в доме, а, может, это — можем в вашей квартире. Примечание: некоторые компьютеры настроены не откликаться на запросы команды ping. Поэтому отсутствие пинга — не стопроцентная гарантия отсутствия связи с адресом.
Более подробную информацию можно получить командой ipconfig /all. У меня получилось:
C:\Documents and Settings\Администратор>ipconfig /all
Настройка протокола IP для Windows
Имя компьютера . . . . . . . . . : sander
Основной DNS-суффикс . . . . . . : MSHOME
Тип узла. . . . . . . . . . . . . : смешанный
IP-маршрутизация включена . . . . : нет
WINS-прокси включен . . . . . . . : нет
Порядок просмотра суффиксов DNS . : MSHOME
srcc.msu.ru
Ethernet — Ethernet адаптер:
DNS-суффикс этого подключения . . : srcc.msu.ru
Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller
Физический адрес. . . . . . . . . : 00-16-D4-63-03-65
Dhcp включен. . . . . . . . . . . : да
Автонастройка включена . . . . . : да
IP-адрес . . . . . . . . . . . . : 192.168.17.139
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 192.168.17.240
DHCP-сервер . . . . . . . . . . . : 192.168.17.240
DNS-серверы . . . . . . . . . . . : 212.192.244.2
212.192.244.3
Аренда получена . . . . . . . . . : 2 февраля 2009 г. 11:00:28
Аренда истекает . . . . . . . . . : 9 февраля 2009 г. 11:00:28
C:\Documents and Settings\Администратор>
Самую полезную информацию я выделил жирным. DHCP-сервер выделил мне динамиеский адрес на основе моего MAC-адреса или физического адреса. Мои DNS-сервера — это 212.192.244.2 и 212.192.244.3.
Параметры Tracert
Если выполнить команду tracert без указания веб-ресурса, в консоли отобразится справочная информация о параметрах запуска или, как их называют, ключах приложения.
Ключи пишутся через пробел после команды перед именем веб-узла, если в стандартных настройках нужно что-то изменить. Например:
Tracert –w 1000 yandex.ru, что означает: провести трассировку маршрута к yandex.ru с таймаутом ответов в 1000 ms.
Ниже приведен список параметров с их значениями.
-dНе выводить имена сетевых узлов, только IP (сокращает время трассировки).-hОграничить количество прыжков заданным числом.-jВ сетях IPv4: свободный выбор маршрута по списку веб-узлов, приведенных после ключа.-wУстановить таймаут ответов в миллисекундах.-RТрассировка пути в IPv6.-SВ IPv6: трассировка от заданного адреса, указанного после команды.-4Использование только протокола IPv4.-6Использование только протокола IPv6.
Вот видите, всё оказалось проще, чем казалось. Кстати, в закромах Windows еще немало таких полезных штуковин. О них я тоже обязательно расскажу как-нибудь в следующий раз. Надеюсь, будет полезно.
Диагностика разрешения имен (nslookup, dig)
Разобравшись с сетевой связностью и маршрутизацией приходим к следующему этапу — разрешение доменных имен. В большинстве случаев в работе с удаленными сервисами мы не используем IP-адреса, а указываем доменные имена удаленных ресурсов. За перевод символических имен в IP-адреса отвечает служба DNS — это сеть серверов, которые содержат актуальную информацию о соответствии имен и IP в пределах доверенных им доменных зон.
Самый простой способ проверить работает ли разрешение имен — запустить утилиту ping с указанием доменного имени вместо IP-адреса (например, ping ya.ru). Если ответные пакеты от удаленного сервера приходят, значит все работает как надо. В противном случае нужно проверить прописан ли DNS-сервер в сетевых настройках и удается ли получить от него ответ.
Способы выяснения какой DNS-сервер использует наш сервер различаются в зависимости от используемой версии и дистрибутива ОС Linux. Например, если ОС используется Network Manager для управления сетевыми интерфейсами (CentOS, RedHat и др.), может помочь вывод команды nmcli:
Скриншот №7. Команда nmcli
В настройках сетевого интерфейса, в разделе DNS configuration, мы увидим IP-адрес сервера. В Ubuntu 18.04 и выше, использующих Netplan, используем команду systemd-resolve —status:
Скриншот №8. Команда systemd-resolve —status
Используемый сервер также будет указан в настройках интерфейса, в разделе DNS Servers. В более старых версиях Ubuntu потребуется проверить содержимое файлов /etc/resolve.conf и /etc/network/interfaces. Если сервер не указан, воспользуйтесь статьей для ОС Ubuntu 18.04 или CentOS, чтобы скорректировать настройки.
Проверить работу сервиса разрешения имен нам помогут утилиты nslookup или dig. Функционально они почти идентичны: G-вывод утилиты dig содержит больше диагностической информации и гибко регулируется, но это далеко не всегда нужно. Поэтому используйте ту утилиту, которая удобна в конкретной ситуации. Если эти команды недоступны, потребуется доставить пакеты на CentOS/RedHat:
для Debian/Ubuntu:
После успешной установки сделаем тестовые запросы:
Скриншот №9. Тестовые запросы
В разделе Answer Section видим ответ от DNS сервера — IP-адрес для A-записи с доменным именем ya.ru. Разрешение имени работает корректно:
Скриншот №10. Подтверждение корректной работы
Аналогичный запрос утилитой nslookup выдает более компактный вывод, но вся нужная сейчас информация в нем присутствует.
Что же делать, если в ответе отсутствует IP-адрес? Возможно, DNS-сервер недоступен. Для проверки можно отправить тестовый запрос на другой DNS-сервер. Обе утилиты позволяют эти сделать. Направим тестовый запрос на DNS-сервер Google:
Скриншот №11. Отправка тестового запроса 1
Скриншот №12. Отправка тестового запроса 2
Если имена разрешаются публичным DNS-сервером корректно, а установленным по умолчанию в ОС нет, вероятно, есть проблема в работе этого DNS-сервера. Временным решением данной проблемы может быть использование публичного DNS-сервера в качестве сервера для разрешения имен в операционной системе. В том случае, если разрешение имен не работает ни через локальный, ни через публичный DNS сервер — стоит проверить не блокируют ли правила файрвола отправку на удаленный порт 53 TCP/UDP пакетов (именно на этом порту DNS-серверы принимают запросы).
Часто используемые параметры:
- nslookup имя сервер — разрешить доменное имя, используя альтернативый сервер;
- nslookup –type=тип имя — получить запись указанного типа для доменного имени (например, nslookup -type=mx ya.ru – получить MX-записи для домена ya.ru);
- dig @сервер имя — разрешить доменное имя, используя альтернативый сервер;
- dig имя тип — получить запись указанного типа для доменного имени (например, dig ya.ru mx — получить MX-записи для домена ya.ru).
Как обычно, полный набор опций и параметров для указанных утилит можно найти во встроенной справке операционной системы, используя команду man.
220140
Минск
ул. Домбровская, д. 9
+375 (173) 88-72-49
700
300
ООО «ИТГЛОБАЛКОМ БЕЛ»
700
300
Назначение и применение Tracert на практике
Tracert – не просто некая абстрактная команда, которую понимает командная строка, а полноценная программа. Точнее, служебное консольное (не имеющее оконного интерфейса) Windows-приложение, предназначенное для определения пути, по которому направляются сетевые пакеты от одного узла к другому. Имя приложения образовано от «trace route», что означает «трассировка маршрута».
Программа Tracert является собственным компонентом Windows (устанавливается на компьютер вместе с ОС), ее исполняемый файл – TRACERT.exe, постоянно находится в папке %windir%/system32.
Для простоты понимания работы трассировщика представим сетевой пакет как обычную посылку, которую вы отправили по почте в соседний город. На пути следования к адресату (конечному узлу), посылка делает несколько остановок на сортировочных пунктах (промежуточных узлах), где ее регистрируют и отсылают дальше. Вы, как отправитель, зная почтовый трек-номер посылки, можете следить за ее передвижением на специальных сайтах. Если отправление вовремя не доставлено, вы легко узнаете, на каком этапе пути оно потерялось.
Подобным образом работает и Tracert. Только он предоставляет информацию о не почтовых, а о сетевых отправлениях.
Обратите внимание на сходство этих записей:
Трассировка применяется как один из инструментов комплексной диагностики сетевых сбоев. Так, с ее помощью можно определить:
- На каком уровне происходит блокировка недоступного веб-ресурса: на уровне домашней сети (пакеты не отсылаются дальше шлюза), в сети провайдера или за ее пределами.
- Где пакеты сбиваются с правильного маршрута. Например, причиной того, что вместо запрашиваемого сайта открывается страница с рекламой, может быть и вредоносная программа на компьютере пользователя, и перенаправление с какого-либо сетевого узла.
- Является ли веб-ресурс тем, за что себя выдает.
Использование команды Debug
Использованные до сих пор команды debug давали нам понимание того, что происходит при использовании команды ping или traceroute. Они также могут оказаться полезными при поиске и устранении неполадок
Однако в реальных условиях отладка должна производиться с осторожностью. Если процессор не достаточно производительный или существует много перенаправляемых пакетов, то это может легко привести к падению производительности сетевого устройства
Существует пара методов для минимизации влияния выполнения команды debug на маршрутизатор. Один из способов — использование списков контроля доступа для ограничения трафика, который требуется контролировать. Ниже представлен пример этого:
Router4#debug ip packet?
<1-199> Access list
<1300-2699> Access list (expanded range)
detail Print more debugging detail
Router4#configure terminal
Router4(config)#access-list 150 permit ip host 12.0.0.1 host 34.0.0.4
Router4(config)#^Z
Router4#debug ip packet 150
IP packet debugging is on for access list 150
Router4#show debug
Generic IP:
IP packet debugging is on for access list 150
Router4#show access-list
Extended IP access list 150
permit ip host 12.0.0.1 host 34.0.0.4 (5 matches)
При этой конфигурации маршрутизатор 4 печатает сообщения отладки, соответствующие только списку контроля доступа 150. Команда ping, поступающая от маршрутизатора 1, приводит к отображению следующего сообщения:
Router4#
Jan 20 16:51:16.911: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.003: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.095: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.187: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:51:17.279: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Пакеты, не соответствующие списку контроля доступа, маршрутизатором 4 не отображаются. Для их просмотра необходимо добавить следующие команды:
Router4(config)#access-list 150 permit ip host 12.0.0.1 host 34.0.0.4
Router4(config)#access-list 150 permit ip host 34.0.0.4 host 12.0.0.1
После этого отобразятся следующие результаты:
Jan 20 16:53:16.527: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.531: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.627: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.635: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.727: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.731: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.823: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.827: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:53:16.919: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Jan 20 16:53:16.923: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Другим способом минимизации воздействия команды debug является помещение отладочных сообщений в буфер и их вывод после выключения отладки с помощью команды show log:
Router4#configure terminal
Router4(config)#no logging console
Router4(config)#logging buffered 5000
Router4(config)#^Z
Router4#debug ip packet
IP packet debugging is on
Router4#ping 12.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 12.0.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/36/37 ms
Router4#undebug all
All possible debugging has been turned off
Router4#show log
Syslog logging: enabled (0 messages dropped, 0 flushes, 0 overruns)
Console logging: disabled
Monitor logging: level debugging, 0 messages logged
Buffer logging: level debugging, 61 messages logged
Trap logging: level informational, 59 message lines logged
Log Buffer (5000 bytes):
Jan 20 16:55:46.587: IP: s=34.0.0.4 (local), d=12.0.0.1 (Serial0), len 100, sending
Jan 20 16:55:46.679: IP: s=12.0.0.1 (Serial0), d=34.0.0.4 (Serial0), len 100, rcvd 3
Как показано выше, команды ping и traceroute являются очень полезными при поиске и устранении проблем доступа к сети. Кроме того, они очень просты в применении. Так как эти две команды широко используются сетевыми инженерами, то понимание принципов их функционирования является очень важным при поиске и устранении неисправностей подключения к сети.
Есть вопросы?
Обращайтесь в «Аквилон-А», чтобы узнать подробности и получить
именно то, что вам требуется.
Команда traceroute Linux
Не всегда сеть работает так, как от нее требуется, иногда определенный компьютер в вашей локальной сети компании, или удаленный может не отвечать. Казалось бы, все работает, все подключено, но похоже на каком-то из узлов, на пути от вашего компьютера, до нужного случается ошибка.
Утилита ping позволяет только определить наличие проблемы, что узел не отвечает, но как узнать где обрывается соединение? Для этого применяется утилита traceroure. В этой небольшой инструкции мы рассмотрим как пользоваться traceroute linux, как понимать ее вывод и определить где же все-таки проблема. Но сначала рассмотрим, как работает traceroute.
How Does Traceroute Works?
Each IP packet sent on the Internet has a field known as Time-To-Live (TTL). But this field is not explicitly related to the time measured by the number of hops. It is instead, the maximum number of hops that a packet can travel across the Internet before it gets discarded.
The TTL field in an IP packet is so essential because if there wasn’t one, the packet would keep flowing from one router to another forever searching for its destination, in a never-ending loop.
The TTL value helps in route poisoning, and most importantly, it can help Distance Vector protocols to avoid routing loops.
Traceroute depends on TTL to measure the distance between source and destination and to find the hops in between.
In a traceroute, the source re-defines the TTL value every time it gets a response and sends the packet with TTL= +1 until it reaches its destination.
When a packet reaches its maximum TTL, the last hop in line will send back an “ICMP TTL Exceeded” packet back to the source.
This communication is what traceroute is looking for. The “ICMP TTL Exceeded” contains valuable information, such as the time it took to reach that particular hop and the name of the server that is replying.
Команда tracert (traceroute)
Очень часто пользователи задаются вопросом, с чем связана разница в написании tracert и traceroute? На самом деле, команда tracert применяется в операционных системах Windows, а traceroute – в операционных системах Linux и в операционной системе маршрутизаторов Cisco.
Простейший и самый распространенный пример использования команды tracert – “tracert ya.ru”. При использовании команды tracert с буквенным адресом проверяемого хоста, автоматически проверяется еще и работоспособность и доступность DNS – сервера. Ведь для того, чтобы начать процесс трассировки, команда tracert должна сначала связаться с сервером DNS и получить IP-адрес проверяемого хоста.
Пример вывода информации командой tracert:
Трассировка маршрута к ya.ru с максимальным числом прыжков 30:
1 1 мs 1 мs 1 ms psk-cr1-fe-0-0-v03.ellink.ru 2 1 мs 1 мs 1 мs ge-2-2-0-v2.1g.m20-1-pskv.nwtelecom.ru 3 4 ms 4 ms 4 ms ae0.20g.mx960-1-210.nwtelecom.ru 4 4 ms 4 ms 4 ms as13238-yandex.gateway.nwtelecom.ru 5 12 ms 12 ms 12 ms apollo-vlan304.yandex.net 6 12 ms 12 ms 13 ms grechko-vlan121.yandex.net 7 15 ms 14 ms 14 ms silicon-vlan4.yandex.net 8 14 ms 13 ms 13 ms l3link-iva1-ugr1.yandex.net 9 14 ms 13 ms 15 ms www.yandex.ru
Команда tracert последовательно опрашивает и измеряет время задержки до всех маршрутизаторов на пути прохождения пакета, пока не будет достигнут целевой хост. Если между какими-либо двумя маршрутизаторами наблюдается большой рост задержки, значит этот участок маршрута влияет на увеличение пинга.
Следует также учитывать, что основная задача маршрутизаторов – это передавать пакеты с полезной информацией, а не отвечать на команды tracert и ping. Поэтому, некоторые маршрутизаторы на пути следования пакета могут пинговаться даже с потерей пакетов, но при этом целевой хост будет доступен без потери пакетов. Поэтому прежде чем звонить в техподдержку провайдера с криком “Я знаю, где у вас пропадают пакеты!”, убедитесь, что целевой хост также пингуется с потерей пакетов. Иначе вам попросту расскажут то, о чем написано выше. –> –>
Источник статьи: http://www.ellink.ru/co/adsl/etc/network/ping_tracert.php
Как читать результат трассировки
Вернемся к анализу вывода Tracert. Мой запрос к сайту Yandex.ru совершил 16 прыжков – прошел через 15 «перевалочных пунктов» и шестнадцатым шагом достиг конечной цели. Порядковые номера прыжков отображены в столбце, обведенном красной рамкой. По умолчанию их максимальное число составляет 30.
Второй, третий и четвертый столбцы содержат значения RTT – времени, прошедшего от момента отправки запроса до получения ответа (как вы помните, партия состоит из трех пакетов). Чем оно меньше, тем быстрее осуществляется передача. Если оно больше 4 секунд, интервал ожидания считается превышенным.
Последний столбец – это имена и адреса промежуточных и конечного узлов.
Звездочки вместо значений не всегда указывают на недоступность или неисправность сетевого устройства (как пишут в некоторых источниках). Чаще всего это просто настройка, не позволяющая отправлять ответные ICMP-сообщения (меры по защите веб-узла от DDoS-атак). Если ваш запрос благополучно достиг конечной точки за приемлемое время, беспокоиться не о чем.
Причиной сбоя доставки ICMP-пакетов (если запрос так и не дошел до адресата) может быть неработоспособность (отключение или неисправность) сетевого устройства или политика безопасности (блокировка данного действия администратором сети).
Команда tracert.
ноября 8, 2009 P.Borvickiy
Tracert – определяет путь до точки назначения с помощью посылки в точку назначения эхо-сообщений протокола Control Message Protocol (ICMP) с постоянным увеличением значений срока жизни (Time to Live, TTL).
Выведенный путь — это список ближайших интерфейсов маршрутизаторов, находящихся на пути между узлом источника и точкой назначения. Ближний интерфейс представляют собой интерфейс маршрутизатора, который является ближайшим к узлу отправителя на пути. Запущенная без параметров, команда tracert выводит справку.
Параметры
-d
Предотвращает попытки команды tracert разрешения IP-адресов промежуточных маршрутизаторов в имена. Увеличивает скорость вывода результатов команды tracert.
-h максимальное_число_переходов
Задает максимальное количество переходов на пути при поиске конечного объекта. Значение по умолчанию равно 30.
-j список_узов
Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в заголовке IP с набором промежуточных мест назначения, указанных в списке_узлов. При свободной маршрутизации успешные промежуточные места назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке — 9. Список_адресов представляет набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами.
-w интервал
Определяет в миллисекундах время ожидания для получения эхо-ответов протокола ICMP или ICMP-сообщений об истечении времени, соответствующих данному сообщению эхо-запроса. Если сообщение не получено в течение заданного времени, выводится звездочка (*). Таймаут по умолчанию 4000 (4 секунды).
имя_конечного_компьютера
Задает точку назначения, указанную IP-адресом или именем узла.
-?
Отображает справку в командной строке.
Примечания
Диагностическое средство, предназначенное для определения маршрута до точки назначения с помощью посылки в точку назначения эхо-запросов протокола Internet Control Message Protocol (ICMP) с различными значениями срока жизни (TTL, Time-To-Live). Каждый маршрутизатор, через который проходит путь, обязан перед дальнейшей пересылкой пакета уменьшить значение его поля TTL по меньшей мере на 1.
Фактически, TTL — счетчик узлов. Предполагается, что когда параметр TTL становится равен 0, маршрутизатор посылает системе-источнику сообщение ICMP об истечении времени. Команда tracert определяет маршрут, посылая первый эхо-запрос с полем TTL, равным 1, и увеличивая значение этого поля на единицу для каждого последующего отправляемого эхо-пакета до тех пор, пока конечный узел не ответит или пока не будет достигнуто максимальное значение поля TTL.
Максимальное количество переходов по умолчанию равно 30 и может быть изменено с помощью параметра -h. Путь определяется из анализа сообщений ICMP об истечении времени, полученных от промежуточных маршрутизаторов, и это-ответов точки назначения. Однако некоторые маршрутизаторы не посылают сообщений об истечении времени для пакетов с нулевыми значениями TTL и не видны для команды tracert. В этом случае для перехода отображается ряд звездочек (*).
- Чтобы выполнить трассировку маршрута, вывести значение задержки распространения по сети и потерь пакета на каждом маршрутизаторе и узле в пути, используйте команду pathping.
- Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).
Примеры
Чтобы выполнить трассировку пути к узлу corp7.microsoft.com, введите команду:
tracert corp7.microsoft.com
Чтобы выполнить трассировку пути к узлу corp7.microsoft.com и предотвратить разрешение каждого IP-адреса в имя, введите:
tracert -d corp7.microsoft.com
Чтобы выполнить трассировку пути к узлу corp7.microsoft.com и использовать узлы 10.12.0.1-10.29.3.1-10.1.44.1 для свободной маршрутизации, введите следующую команду:
tracert -j 10.12.0.1 10.29.3.1 10.1.44.1 corp7.microsoft.com
Условные обозначения форматирования
Формат |
Значение |
Курсив | Сведения, вводимые пользователем |
Полужирный | Элементы, вводимые без изменений |
Многоточие (…) | Параметр может быть введен в командной строке несколько раз |
В квадратных скобках ([]) | Необязательные элементы |
В фигурых скобках ({}); варианты, разделенные вертикальной линией (|), пример: {even|odd} | Набор вариантов, из которых необходимо выбрать один |
Выходные данные программы |
Раздел сайта Командная строка Теги: Командная строка