Для чего сетевой администратор может использовать служебную программу tracert cisco

В чем отличие маршрута пакета от его пути?
Стандартный механизм маршрутизации пакетов в интернете — per hop behavior — то есть каждый узел в сети принимает решение куда ему отправить пакет на основе информации, полученной от протоколов динамической маршрутизации и статически указанных администраторами маршрутов.

Маршрут — это интерфейс, в который нам надо послать пакет для достижения какого то узла назначения и адрес следующего маршрутизатора (next-hop):

R1#sh ip rou | i 40. 40.0.0.0/8 is variably subnetted, 2 subnets, 2 masks O 40.0.0.0/31 [110/3] via 20.0.0.0, 00:01:54, FastEthernet0/0 O 40.1.1.1/32 [110/4] via 20.0.0.0, 00:00:05, FastEthernet0/0

Что такое путь? Путь — это список узлов, через которые прошел (пройдет) пакет:
1 10.0.0.1 16.616 ms 16.270 ms 15.929 ms 2 20.0.0.0 15.678 ms 15.157 ms 15.071 ms 3 30.0.0.1 26.423 ms 26.081 ms 26.744 ms 4 40.0.0.0 48.979 ms 48.674 ms 48.384 ms 5 100.0.0.2 58.707 ms 58.773 ms 58.536 ms

Путь пакета можно посмотреть с помощью утилит tracert в OC Windows и traceroute в GNU/Linux и Unix-подобных системах. (другие команды, типа tracepath мы не рассматриваем).

Traceroute Explained #shorts


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

Итак, утилита tracert.
В основе работы данной утилиты лежит протокол icmp. Рассмотрим вот такую схему:

Host отправляет по указанному в его таблице маршрутизации маршруту ICMP Echo-Request с ttl 1. Router1, получив такой пакет, проверит адрес назначения — может быть пакет ему. Так как данный пакет адресован другому хосту, то Router1 считает себя транзитным узлом, декрементирует ttl пакета и отбрасывает его, так как время жизни пакета становится равным 0. Так как пакет был дропнут, Router1 отправляет источнику пакета icmp сообщение с указанием причины дропа — Time Exceeded.

Утилита tracert, получив данное icmp сообщение, указывает Router1 как первый хоп (информация об адресе указана в icmp сообщении). Далее процесс повторяется с инкрементированием ttl, пока ttl icmp запроса не будет равен количеству хопов между узлом-отправителем и узлом получателем. В данном примере Server1 является узлом назначения. Получив пакет, он проверит адрес назначения, увидит, что запрос адресован ему и отправит ICMP Echo-Reply, что и будет являться для утилиты tracert триггером к окончанию трассировки.

Вывод:
Icmp -протокол третьего уровня, и о портах он не знает ничего. Поэтому сделать tracert с указанием порта невозможно. Надеюсь тут мы разобрались.

Traceroute — данная утилита работает по иному принципу, хоть и вывод команды похож на вывод предыдущей.
Traceroute основана не на ICMP Echo-Request, а на отправке udp фрагментов и получения сообщения о доступности/недостижимости порта. Вернемся к прошлой схеме. Host генерирует udp фрагмент, инкапсулирует его в IP пакет и выставляет ttl=1. Router1, являясь транзитным узлом, ответит на данный пакет icmp сообщением об окончании времени жизни пакета.

Traceroute Explained | Real World Examples

Утилита traceroute, получив данное сообщение, указывает адрес источника icmp пакета (Router1) как адрес первого хопа. Далее процесс повторяется с инкрементированием ttl пакета. Всё практически так же, как и в tracert. Но ведь мы не отправляем ICMP Echo-Request, как утилита traceroute поймет, что трассировка закончена? Все просто — в udp заголовке есть поля source и destination порт.

Логично, что source порт будет любым портом выше 1023. А каким указать destination порт? Как было сказано выше, работа утилиты traceroute основана на получении сообщения о недостижимости или доступности порта назначения. То есть мы отправляем udp фрагмент с порта 45000 ( к примеру) на порт 33434 (именно этот порт используется по умолчанию). Как и в предыдущем случае, Server1 является узлом назначения.

Получив пакет, он распаковывает его и должен передать его протоколам высшего уровня. Но так как порт 33434 по умолочанию будет закрыт на сервере, то Server1 формирует icmp сообщение о недостижимости порта назначения (ICMP Type 3 «Destination Unreachable» Code 3 «Port Unreachable»). Получив данное сообщение, утилита traceroute считает трассировку законченной.

В процессе трассировки номер порта назначения будет инкрементироваться при каждой попытке ( 33434, 33435 и т д). Может получится так, что порт назначения будет открыт. В данном случае сервер отправит на хост-инициатор например TCP ACK если для трассировки используются TCP SYN пакеты, что тоже будет являться триггером к окончанию трассировки.

Вывод:
Утилита traceroute позволяет сделать трассировку с указанием порта назначения.
Для этого разберем пример ниже:

Возьмем предыдущую схему и сделаем трассировку:

С использованием TCP SYN пакетов:


C использованием UDP пакетов:

Как видите трассировка прошла успешно. Мы видим путь до указанного хоста.

А теперь повесим на интерфейс Router4 фильтр на in (как указано на рисунке):

R4#sh run int fa0/0 Building configuration. Current configuration : 121 bytes ! interface FastEthernet0/0 ip address 40.0.0.0 255.255.255.254 ip access-group deny-to-server in duplex half ! end R4#sh access-lists deny-to-server Extended IP access list deny-to-server 10 deny tcp any host 100.0.0.2 log (32 matches) 20 deny udp any host 100.0.0.2 log (29 matches) 30 permit ip any any (128 matches)

Снова сделаем трассировку:

Теперь трассировка закончилась на предпоследнем хопе и в выводе появились знаки! Х. Почему это произошло? Router4 получив пакет к Server1 дропает его, так как он попадает под запрещающее правило на входящем интерфейсе и отправляет хосту-инициатору сообщение о том, что пакет был зафильтрован (ICMP Type 3 «Destination Unreachable» Code 13 — «Communication Administratively Prohibited»). Это тоже сообщение о недостижимости порта назначения. Поэтому утилита traceroute получив такое сообщение, заканчивает свою работу так не добравшись до хоста назначения. В данном случае в выводе важно понять, что пакеты были именно зафильрованы, о чем нам подсказывает знак !X (в Unix) или знак !A (в Cisco):

Читайте также:
Реализация социальных программ что это

R1#traceroute 100.0.0.2 Type escape sequence to abort. Tracing the route to 100.0.0.2 1 20.0.0.0 24 msec 24 msec 16 msec 2 30.0.0.1 16 msec 36 msec 40 msec 3 40.0.0.0 !A !A !A

Примечание: Возможен случай, когда пакеты будут дропаться без отправки ICMP сообщений ( отправка в Null-интерфейс в Cisco/Huawei или discard в Juniper). В данном случае трассировка будет идти пока не кончится максимальное TTL, указанное в утилите traceroute (по умолчанию максимум 30 хопов, но можно задать вручную до 255, правда обычно достаточно 15-18 хопов) или ее не прервет администратор, а в выводе будут звездочки.

Примечание: Появление звездочек вместо адресов хостов может быть обусловлено различными причинами и хорошо описано тут

Собственно говоря, утилита traceroute может работать как и утилита tracert с использованием ICMP Echo-Request. Для этого ее следует запустить с ключом -I. В примеры выше фильтр не блокирует ICMP, поэтому трассировка с использованием данного протокола покажет нам весь путь пакета:

Надеюсь мы разобрались в основных принципах работы данных утилит. Если надо сделать трассировку по какому то порту в Windows системах, можно использовать сторонние утилиты, к примеру tcptrace.

Спасибо за внимание!

Источник: habr.com

Сетевая утилита tracert

Только сегодня: 300 рублей в подарок на первый заказ.
Какую работу нужно написать?

Другую работу

Помощник Анна

Практические занятия№ 03-006Сетевая утилита tracert (traceroute в Linux, Cisco IOS, MAC OS). Принципы работы и использование. Утилита tracert используется для исследования маршрутов IP пакетов в сетях, работающих с использованием стека протоколов TCP/IP включая глобальную сеть Internet. При использовании этой программы необходимо помнить что при её работе генерируется достаточно большое количество IP пакетов как на вашем хосте, так и на промежуточных маршрутизаторах. Это создает дополнительную нагрузку на сеть. tracert [-d] [-hмаксимальное число] [-jсписок узлов] [-wинтервал] [имя_конечного_компьютера] Параметры: -d отказ от разрешения IP адресов промежуточных узлов в имена -hмаксимальное число максимальное число переходов (прыжков) при поиске узла назначении -jсписок_узлов задает использование параметра свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов (сейчас практически не поддерживается на машрутизаторах)-wинтервал задает в миллисекундах время ожидания каждого ответа имя_конечного_компьютера задает точку назначения, идентифицированную IP-адресом или именем узла. Работа утилиты основана на манипулировании содержимым полей стандартного заголовка и опций заголовка IP пакета. Основным инструментом утилиты является содержимое поля «время жизни» (или TTL). Обязательным элементом является IP адрес или имя узла назначения. Получив его от пользователя, утилита отправляет в сеть серию (обычно три) пакетов на этот адрес с установленным значением TTL равным 1. Шансов дойти до адресата эти пакеты не имеют, поскольку первый же по пути следования маршрутизатор, вычитая из такого TTL 1 получит 0. А такой пакет он обязан уничтожить по истечению разрешенного времени жизни в сети. Но при этом маршрутизатор обязан отправить отправителю этого пакета-неудачника ICMP сообщение о его трагической участи (тип 11, код 0) . В результате ваш компьютер очень быстро получит три уведомления о уничтожении отправленных ранее пакетов. Помня время отправления и фиксируя время получения ICMP уведомлений, утилите tracert не сложно вычислить среднее время получения ответов, которое и выводится на экран. Затем отправляется следующая серия пакетов с TTL равным 2, и так до тех пор, пока пакеты не достигнут пункта назначения. Когда на адрес хоста или маршрутизатора приходит адресованный ему пакет с TTL, достигшим значения 1, он принимается. Поскольку пересылать его далее необходимости нет, ICMP сообщение о истечении времени жизни сгенерировано не будет. Чтобы узнать, что трассировка успешно завершена, все серии пакетов отправляются с вложенными в них UDP сообщениями, с указанием заведомо не существующего у получателя номера порта. На промежуточных маршрутизаторах это не имеет никакого значения, но получатель, потерпев неудачу воспользоваться вложенной информацией, оказывается вынужден сообщить об этом отправителю с использованием того же протокола ICMP, но с другими значениями типа (3) и кода (3) сообщения. Такое сообщение интерпретируется отправителем как подтверждение завершения трвссировки. Важной особенностью утилиты tracert является возможность узнать имена промежуточных узлов. Это позволяет составить представление об организационной структуре и географическом расположении маршрута следования пакетов. Наименования узлов основывается на системе доменных имён (DNS): Формально и пользователи, и программы могут обращаться к хостам, почтовым ящикам и другим ресурсам сети интернет по их IP адресам, но если для программы процедура «запоминания» IP адреса ничем не отличается от «запоминания» любых других 4-х байт информации любого типа, то для пользователя запоминание цифросочетаний вида 111.124.133.44 тяжело просто с точки зрения устройства нашей памяти. Кроме того, отождествление каких-либо служб с IP адресами хостов или серверов, на которых они функционируют крайне затрудняет процедуру их переноса в случае необходимости. Для учета «человеческого фактора» и отделения имен машин от их адресов было решено использовать текстовые ASCII-имена. Тем не менее, сеть понимает только численные адреса, поэтому нужен механизм преобразования ASCII-строк в IP адреса. Когда все только начиналось, в сети ARPANET соответствие между текстовыми и двоичными адресами хранилось в специальных файлах, в которых перечислялись все хосты и их IP-адреса. В сети, состоящей из нескольких сотен больших машин такой подход работал вполне приемлемо. Но когда к сети подключились тысячи рабочих станций возникли проблемы: быстро росло количество записей, которые нужно было хранить, и централизованное управление именами всех хостов гигантской международной сети довольно сложно. Для решения этих проблем была разработана служба имен доменов (DNS, Domain Name System). Эта система используется для преобразования имен хостов и пунктов назначения электронной почты в IP-адреса, но также может использоваться и в других целях. Определение системы DNS было дано в RFC 1034 и 1035. Доменным именем называется имя, состоящее из слов, разделенных точками. Левое слово имени относится к хосту. Все остальные слова образуют имя домена. Система имен имеет иерархическую, древовидную структуру. Каждый узел (кружочки на рисунке) имеет метку длиной до 63 символов. Корень дерева это специальный узел без метки. Метки могут содержать заглавные буквы или маленькие. Имя домена (domain name) для любого узла в дереве — это последовательность меток, которая начинается с узла выступающего в роли корня, при этом метки разделяются точками. (Здесь видно отличие от привычной нам файловой системы, где полный путь всегда начинается с вершины (корня) и опускается вниз по дереву.) Каждый узел дерева должен иметь уникальное имя домена, однако одинаковые метки могут быть использованы в различных точках дерева. Существует корневое имя, обозначаемое символом ‘.’, оно часто не пишется в имени домена. Существуют имена доменов первого уровня. Они разделены на 2 категории — имена доменов территорий и имена доменов предметных областей. Имена доменов второго уровня и последующих могут быть любыми, при этом не может существовать двух одинаковых имен доменов или хостов. Итак, если Ni- доменное имя i-го уровня, а T- слово, то доменное имя i+1 уровня образуется по правилу Ni+1=T+Ni.. Имя домена, которое заканчивается точкой, называется абсолютным именем домена (absolute domain name) или полным именем домена (FQDN — fully qualified domain name). Подчеркнем ещё раз, что поскольку IP-адреса уникально идентифицируют хосты в сети, существует взаимно-однозначное отношение между множеством имен хостов и множеством адресов. Это отношение устанавливается таблицей, в которой столько записей типа «Имя хоста, IP-адрес», сколько существует доменных имен хостов. При наименовании нового хоста запись в таблицу нужно добавить, если переименован существующий, запись нужно изменить. Пользоваться такой системой имен удобно, потому что они легко запоминаются и не привязаны к территориально локализованным IP-сетям. Перенося поименованный ресурс с одного хоста на другой, вам достаточно изменить запись для его имени в таблице имен. На одном сайте сложно содержать такую таблицу для Интернет и невозможно поддерживать в актуальном состоянии. База данных DNS является распределенной. Иерархической системе имен соответствует иерархическая система серверов DNS, на которых размещены фрагменты таблицы. В идеале для каждого домена должен существовать отдельный сервер имен. В базе данных сервера имен любого уровня должны содержаться записи о всех дочерних доменах следующего уровня. Все домены первого уровня содержаться в базе данных корневых серверов (root name servers). Их обслуживает организация NIC. В реальности на одном хосте может размещаться база для нескольких доменов, и одинаковые или пересекающиеся базы могут располагаться на нескольких хостах. Ветвь дерева имен, находящаяся под единым управлением вместе с хостами, на которых расположена база данных этой ветви дерева называется зоной DNS. Обычно в зоне имеется один основной сервер DNS (primary name server) и несколько резервных (secondary name servers). Изменения в зоне вносятся в базу данных первичного сервера зоны с последующим дублированием этой информации на вторичные сервера. Процесс передачи информации от первичного сервера вторичному называется передачей зоны (zone transfer). Когда в зоне появляется новый хост, администратор добавляет соответствующую информацию (минимум, имя и IP адрес) в дисковый файл на первичном сервере. Вторичные сервера регулярно опрашивают первичные (обычно каждые 3 часа), и если первичные содержат новую информацию, вторичный получает ее с использованием передачи зоны. Исходя из заданной функциональности системы и ее структуры следует, что в состав протокола должны входить две компоненты — протокол разрешения имен в IP-адреса и протокол обмена данными между узлами распределенной базы данных, в частности, между основным и резервным серверами зоны. Система разрешения адресов. Для того, чтобы программное обеспечение стека протоколов TCP/IP могло пользоваться службой имен, в настройках стека должен быть указан IP — адрес сервера имен, в зону которого входит хост или другой сервер, принимающий запросы из сети хоста. Когда прикладной элемент использует для обозначения второй стороны в сеансе доменное имя, инициируется процесс разрешения IP — адреса. Прикладной элемент службы имен хоста отправляет запрос серверу имен. Если сервер имен может разрешить адрес, он отправляет отклик, содержащий этот адрес. Если сервер имен не может разрешить запрос, он может инициировать два сценария разрешения имени

  1. сервер отправляет в составе отклика адрес корневого сервера имен, и хост формирует запрос к этому серверу (итеративный запрос).
  2. Сервер зоны формирует запрос к корневому серверу и, получив ответ, сохраняет его в буфере и отправляет отклик с адресом хосту, запросившему сервис (рекурсивный запрос).
Читайте также:
Zip grade что это за программа

Отклик сервера, контролирующего домен, называется авторитетным. Каждый сервер имен в Интернет должен содержать в базе адреса корневых серверов. Разрешение имен. Кроме основной своей функции разрешения доменного имени хоста в его IP-адрес, протокол DNS обеспечивает и обратное разрешение IP-адреса в доменное имя при помощи подзон реверсивной зоны in_addr.arpa. Именно возможности этого протокола позволяют утилите tracert не только успешно работать при задании места трассировки в виде DNS имени, но и предоставлять нам информацию о именах промежуточных узлов. Вопросы для самопроверки

  1. Что такое система доменных имен и для чего он используется.
  2. Каков максимальный размер метки узла домена
  3. Какое имя имеет корневой домен DNS
  4. Какие типы и коды ICMP сообщений использует утилита tracert
  5. Какое поле заголовка IP пакета используется для задания времени жизни пакетов утилитой tracert
  6. Параметры утилиты tracert
  7. Назначение утилиты tracert и варианты её применения

Необходимое оборудование IBM PC — совместимая ЭВМ с лицензионной операционной системой Windows, подключение к локальной сети, выход в интернет. Задания 1. Воспользовавшись командой tracert рпределите маршрут распространения IP-пакетов до сайта www.sgu.ru 2. Воспользовавшись командой tracert рпределите маршрут распространения IP-пакетов до одного из приведенных сайтов: www.nla.gov.au , www.ibge.gov.br , www.kunaicho.go.jp (можете выбрать любой сайт за пределами России). 3. Повторите трассировку с опцией –d. 4. Опишите структуру DNS имени трассировавшегося вами сервера. 5. Воспользуйтесь услугами сервиса www.ip2location.com/demo.aspx (или аналогичного) и определите примерное местоположение промежуточных точек маршрута. 6. Нарисуйте схему маршрута. 7. Прокомментируйте результаты. Отчет о выполнении работы представьте в печатной или электронной форме с представлением копий экранов работы утилиты.

Источник: studfile.net

Команда tracert поможет в диагностике проблем со связью

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

Читайте также:
Программа qik что это

Что проверяет команда tracert?

Команда tracert

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

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

Запуск команды tracert в Windows

Запустить утилиту проверки сетевого маршрута в Windows можно из командной строки. В версиях операционной системы ниже 8, чтобы открыть интерфейс командной строки, достаточно нажать «Пуск-Выполнить» и набрать cmd. В Windows 8 придется обратиться к меню «Все программы» и найти там пункт «Командная строка». В любой версии ОС также можно воспользоваться сочетанием клавиш Win+R.

Команда tracert windows

Попав в командную строку, необходимо ввести tracert domen.ru, где вместо domen.ru можно указать любое доменное имя или IP-адрес. Это приведет к запуску утилиты со стандартными параметрами.

Ключи команды tracert

Запущенная опытным пользователем, содержит команда tracert описание ключей. Его можно вызвать, просто набрав команду tracert с параметром -?.

Приведем краткое описание параметров, которые поддерживает команда tracert:

  • -h задает максимальное количество переходов, которое может быть выполнено при поиске конечного узла.
  • -d запрещает команде производить попытки превратить IP-адрес промежуточного шлюза в имя.
  • -j позволяет утилите производить свободный поиск маршрута по списку узлов. Максимум можно указать 9 маршрутизаторов.
  • -w служит для указания времени ожидания ответа на запрос от узла. Если ответ не получен, то будет выведена звездочка. Указывается в миллисекундах.

По умолчанию максимальное число прыжков ограничено 30-ю, а время ожидания — 4-мя секундами.

Аналог в Linux

команда tracert описание

Пользователям операционной системы Linux доступна утилита с более широким функционалом, чем имеет команда tracert. Называется она traceroute. Отличается данное приложение от аналога для Windows наличием разнообразных режимов, которые задаются с помощью параметров.

Запуск трассировки с помощью ICMP осуществляет команда tracertroute с ключом –I. Стоит обратить внимание, что для выполнения этой операции потребуются права администратора. При стандартных настройках в большинстве дистрибутивов запуск команды tracertroute может быть осуществлен любым пользователем. В этом случае будут использовать UDP-пакеты, также можно утилите принудительно указать использовать именно их с помощью параметра –U.

Звездочки в выводе маршрутов

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

tracert команда

Что следует знать о трассировке маршрутов?

Tracert — команда, которая очень важна при диагностике сетевых проблем. Однако стоит учитывать, что ошибиться, рассматривая вывод команды tracert, достаточно просто. Поэтому не надо использовать трассировку маршрутов как единственное средство поиска неполадок.

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

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

Утилита MTR

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

Версия утилиты для Windows имеет название WinMTR и распространяется бесплатно.

что проверяет команда tracert

Пользователю предоставляется возможность работать с графическим интерфейсом, в котором необходимо указать IP-адрес или домен узла назначения, запустить сбор статистики. Как правило, для анализа необходимо отправить минимум 100 пакетов.

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

Что следует отправлять провайдеру для диагностики сетевых проблем?

Администратору сервера или провайдеру, как правило, лучше отправить выводы команд tracert (traceroute), ping и отчет утилиты MTR. Можно, конечно, постараться обойтись только последним, но чем больше информации предоставлено, тем легче специалисту найти и устранить проблему.

Источник: fb.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru