Протокол ICMP, утилита traceroute | Практика по курсу "Компьютерные сети"
Vložit
- čas přidán 2. 03. 2016
- Исследуем работу утилиты traceroute с помощью Wireshark. Практические занятия по курсу "Компьютерные сети" goo.gl/YP3l83
Страница курса - www.asozykin.ru/courses/networ...
Утилита traceroute (в Windows tracert) используется для определения маршрута от отправителя к получателю. Утилита выдает перечень всех маршрутизаторов, через которые необходимо пройти.
Для определения IP-адресов маршрутизаторов, traceroute использует протокол ICMP. На первом этапе отправляется эхо-запрос (ICMP-пакет с кодом 8, типом 0) со временем жизни 1. Первый маршрутизатор уменьшает время жизни до 0, отбрасывает пакет и передает отправителю сообщение об истечении времени жизни пакета (ICMP-пакет с кодом 11, типом 0). traceroute получает ICMP-пакет, анализирует IP-заголовок и извлекает из него IP-адрес отправителя. Это и есть адрес первого маршрутизатора.
Затем отправляется эхо-запрос со временем жизни 2, он доходит до второго маршрутизатора. Второй маршрутизатор отбрасывает пакет и также передает сообщение, что время жизни пакета истекло. traceroute извлекает из сообщения IP-адрес второго маршрутизатора. После этого traceroute передает эхо-запрос со временем жизни 3, 4, 5 и т.д., пока запрос не дойдет до получателя.
Работу утилиты traceroute можно эмулировать с помощью команды ping. Для этого нужно с помощью специального ключа задать время жизни эхо запроса:
Windows: ping -i 1 habrahabr.ru
Linux: ping -m 1 habrahabr.ru
Практическое задание для вас: определить путь до сайтов, которые вы часто смотрите. Используете сначала утилиту traceroute (в Windows tracert), затем ping и сравните результаты. Также с помощью Wireshark посмотрите, какие ICMP-пакеты при этом передаются.
Лекции по курсу "Компьютерные сети" goo.gl/0aIOuf
Практическое занятие по протоколу ICMP:
• Протокол ICMP в Wiresh...
Видеолекция по протоколу ICMP:
• Протокол ICMP | Курс ... - Věda a technologie
Спасибо вам за полезные Видео. Ваши видео всё ещё актуальны даже в 21 году)
Привет из Ташкента
Самое понятное объяснение! Спасибо огромное!
Спасибо! Практика очень укрепляет теорию.
Пожалуйста!
И всё ещё актуально, спасибо большое
Да, актуально. Сетевые протоколы меняются очень медленно.
Круто. Вот спасибо тебе, Андрей!
Пожалуйста!
Спасибо за урок, очень полезный
+Semanbis, спасибо, рад, что нравится.
Андрей, большое спасибо за теорию и за практику! При тестировании с помощью команды ping заметил разницу между ней и командой tracert. Размер передаваемых и принимаемых кадров отличается на 32 байта. Отличие в поле "Data" протокола ICMP.
Tracert: Data: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
[Length: 64]
Ping: Data: 6162636465666768696a6b6c6d6e6f7071727374757677616263646566676869
[Length: 32]
Это какое-то подобие отпечатков пальцев? Чтобы понимать, от какой именно программы приходят пакеты?
Здравствуйте. Спасибо за очередное занятие! Появилось несколько вопросов о tracert.
Во-первых, при построении маршрутов к некоторым сайтам вместо некоторых маршрутизаторов стоят звёздочки. Что это значит?
Во-вторых, возле некоторых IP в трассировке подписаны какие-то домены. Что это за домены и откуда они берутся?
И последний вопрос. А что будет, если три пакета, отосланных tracert, отправятся разными маршрутами? Ведь маршрутизатор может отправлять пакеты разными путями, в зависимости от текущих настроек и ситуации в сети.
+Sergey Ufimtsev, приятно, что не просто смотрите видео, но и стараетесь что-то сделать.
Отвечаю по пунктам.
1. Если вместо маршрутизаторов стоят звездочки, это означает, что администратор запретил отправку ICMP пакетов с маршрутизатора. Это делается по соображениям безопасности. Подобные настройки делают на многих компьютерах и серверах, поэтому они не отвечают на ping, но по сети доступны.
2. По-умолчанию tracert пытается определить по IP-адресу доменное имя маршрутизатора с помощью DNS. Если это удается, то вместо IP-адреса показывается DNS имя. Для записи видео я использовал специальный ключ (в Windows tracert -d), который запрещает определение DNS имени, так как это существенно ускоряет работу tracert. Поэтому в видео нет доменных имен.
3. Что будет, если пакеты пошли разными путями, зависит от реализации traceroute. На OS X (www.opensource.apple.com/source/network_cmds/network_cmds-307.0.1/traceroute.tproj/traceroute.c) будут напечатаны адреса (и имена) всех маршрутизаторов, от которых пришел ответ, на Linux (traceroute.sourceforge.net) то же самое. Что сделает tracert под Windows сказать не могу, т.к. исходных кодов нет, а простой эксперимент для проверки придумать не получается.
Благодарю за ответы. Правда, я не совсем понимаю, как DNS может преобразовать IP-адреса в домены, особенно если учесть возможность привязки многих доменов к одним IP.
+Sergey Ufimtsev, это реверсивный DNS запрос. Обычно есть одна основная запись IP->DNS имя, и много дополнительных записей синонимов. По реверсивному DNS запросу выдается основное имя, которое закреплено за IP адресом.
На эту тему еще будут лекции.
@@AndreySozykin По поводу первого ответа. Если администратор сервера запретил отправку ICMP пакетов с муршрутизатора, то как traceroute понимает, какой маршрутизатор будет после этого сервера? Даже в Wireshark проверил -сервера, отмеченные * * * не отображаются в таблице, хотя все предыдущие - да.
Отлично, спасибо
воооу, спасибочки большое, очень помогло и все понятно
Пожалуйста!
Spasibo Za Klasnie Kursi
+atilla atilla, спасибо в ответ за постоянную поддержку!
подскажи автор у меня на 2ром адресе пинг 40мс модем adsl я считаю это много до шлюза провайдера ... в сравнении у соседей ниже в 3 раза ... если не трудно дай свое мнения по этому поводу посоветуй что либо почему так происходит .?
спасибо большое
Пожалуйста!
А если звездочки стоят, то это значит что какой-то промежуточный маршрутизатор не хочет возвращать icmp сообщение? А может ли какой-то маршрутизатор пропустить пакет, не изменяя ttl? Он может сделать себя незаметным?
Использую Linux Debian 11. Утилита traceroute почему-то отсылает не ICMP запросы с разным временем жизни, а UDP. Узнал это, посмотрев ICMP ответ в wireshark.
Добрый вечер! Я попробовал использовать утилиту traceroute для того, чтобы узнать путь к условному домену. Данная утилита мне выдала набор маршрутизаторов, через которые проходили ICMP пакеты, после этого я пошёл проверять работу traceroute через утилиту пинг, и указав тот же домен, что и в первом случае, у меня отправился запрос напрямую на данный домен, подскажите, что я сделал не так? Разве пакет не должен через маршрутизаторы проходить? OS Debian
Здравствуйте. В лекции по протоколу ICMP все маршрутизаторы нарисованы последовательно от одного компьютера к другому. В то же время в лекции "Протокол IP: маршрутизация" нарисована целая сеть маршрутизаторов и возможность доставки пакета по любой цепи. Каким образом эхо-запрос проходит правильную цепь маршрутизаторов, а не уходит в совсем другую ветку, в которой запрашиваемого адреса нет в помине?!?
За лекции ++ и благодарность!
+Oleksiy Dryzhakov, в примере просто для удобства нарисована прямая из маршрутизаторов. На самом деле они могут располагаться как угодно. Эхо-запрос находит путь, как и все другие пакеты, с помощью маршрутизации. При этом разные эхо-запоосы не обязаны ходить по одному пути.
А что значит Превышен интервал ожидания для запроса
Подскажите пожалуйста, как устройство понимает куда дальше отправлять icmp запрос я так и не понял, с первым хопом понятно, это нашь gw , а дальше ?
Спасибо!!!
Пожалуйста!
подскажите пож-ста, у меня в WIRESHARK ICMP нет - почему?
почему при трассировке маршрута выделено три столба для пинга? что это означает?
Almas Zholdas, tracert на каждом этапе трассировки отправляет по три пакета. В столбцах показано время отклика для каждого пакета.
Это нужно для диагностики работы сети. Во-первых, один пакет может потеряться, а прекращать всю трассировку из-за потери одного пакета плохо. Также, если время ответа для разных пакетов сильно отличается, значит есть существенная проблема с работой сети, которую очень желательно решить.
+Andrey Sozykin полезная информация, спасибо
спасибо!!!
Пожалуйста!
Здравствуйте! Андрей, подскажите пожалуйста ICMP эхо-ответы утилиты tracert идут одним и тем же маршрутом от каждого промежуточноно узла и приемника или каждый раз разными маршрутами? И как это экспериментально доказать можно?
(Я догадываюсь что с помощью ping, но как-то не до конца понимаю)
Вопрос на лабораторной работе, никак не удается ответить
Гарантии одного маршрута нет. Предположим, что в процессе доставки ответа один из маршрутизатором выйдет из строя. Тогда пакет пойдёт другим маршрутом (при условии, что такой маршрут существует).
@@AndreySozykin А скажите, пожалуйста, с помощью ping утилиты это как-то можно проследить?
Отправить несколько ping запросов с одним и тем же временем жизни и посмотреть, от каких маршрутизаторов придут ответы?
Wireshark под макосью показывает только TTL exceeded пакеты, без echo ping. Это какая-то особенность реализации? Фильтр стоит только для отображения icmp, тут ошибки быть не может
К сожалению, с макос не работал и попробовать не где. Так что не смогу помочь.
а как узнать на каком маршрутизаторе проблемы если пакеты идут долго
Логично на том на котором больше всего задержка
скажите по какой причине выполнение команды ping с указанием имени сервера завершается с ошибкой "не удалось обнаружить узел", а выполнение ping с указанием IP адреса этого сервера завершается успешно
Скорее всего, не работает DNS. Поэтому не удается разрешить доменное имя. А с IP-адресом все работает.
как вы настраиваете для того что-бы видеть пакеты icmp?
Ничего специального для icmp я не делал. Нужно запускать какие-нибудь утилиты, которые используют icmp, например, ping. Без этого пакетов icmp просто не будет.
Привет Андрей ... можно уточнить вопрос один .у меня такая тема трасернул к примеру яндекс ... первый адрес мой модем потом шлюз и адрес роутера провайдера.... затем подсеть провайдера выше и айпишник провайдера выше звена ... затем петлевые адреса и в конце то концов сам яндекс..... суть вопроса в следующем мой провайдер не признает адрес своего роутера и шлюз ... говорит мол не его адреса .... на втором и третим адресе задержки 35-65мс. прикол в том что адреса эти один частный другой типо в милане гдето зареган .... я в акуе и докозать не че ему не могу лагает все и сменить провайдера в нашем районе без вариантов .... сможешь помочь ?
+Алексей влиятельный, можно попробовать спросить у провайдера адрес его шлюза, настроить работу через него и посмотреть, что будет.
У меня после 16 маршрутизатора стало писать превышен интервал ожидания для запроса но сайт работает,почему?
На многих серверах в целях безопасности настроен запрет ответов на ping запросы. Например, чтобы злоумышленник не мог просканировать сеть. Поэтому если сервер не пингуется, это не значит, что он не работает. Может быть настроен доступ только по HTTP.
скажите на какой порт направляются пакеты
Имеются в виду пакеты ICMP? Если да, то у них нет порта. Порты только в транспортных протоколах TCP и UDP.
ICMP вложен в IP.
а если торрент раздает р2р - Это какие пакеты? UDP?
Обычно используется TCP, но расширение торрент DHT позволяют использовать UDP. Более подробно -wiki.wireshark.org/BitTorrent
Что означают звёздочки при трассировке?
Что пакет утерян
здраствуйте а что значит tracert -d ??? -d ???
Не преобразует IP хоста в доменное имя
@@vladislavpavlov8638 спасибо за ответ но именно так у меня не трасериться не чего с -d почему можно как то понять ?
Не пойму почему но у меня TTL почти всегда равно 254 либо 250 при трассировке маршрута.
где именно ты видишь эти цифры?
+Plus
Здраствуй Андрей подскажи почему точка точка ? а не vpn почему через Жё подключен czcams.com/video/QaGzZ76ISW4/video.html