Протокол ICMP, утилита traceroute | Практика по курсу “Компьютерные сети“
Исследуем работу утилиты traceroute с помощью Wireshark. Практические занятия по курсу “Компьютерные сети“
Страница курса -
Утилита 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
Linux: ping -m 1
Практическое задание для вас: определить путь до сайтов, которые вы часто смотрите. Используете сначала утилиту traceroute (в Windows tracert), затем ping и сравните результаты. Также с помощью Wireshark посмотрите, какие ICMP-пакеты при этом передаются.
Лекции по курсу “Компьютерные сети“
Практическое занятие по протоколу ICMP:
Видеолекция по протоколу ICMP: