Протокол ICMP, утилита traceroute | Практика по курсу “Компьютерные сети”

Исследуем работу утилиты traceroute с помощью Wireshark. Практические занятия по курсу “Компьютерные сети” https://goo.gl/YP3l83
Страница курса – http://www.asozykin.ru/courses/networks_online

Утилита 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-пакеты при этом передаются.

Лекции по курсу “Компьютерные сети” https://goo.gl/0aIOuf

Практическое занятие по протоколу ICMP:

Видеолекция по протоколу ICMP:
https://youtu.be/9iG6ECpF-ko

ПРИСОЕДИНЯЙТЕСЬ
Поделиться

Андрей Созыкин

Меня зовут Андрей Созыкин, я работаю в университете, веду курсы по компьютерным наукам. Здесь представлены видеолекции, подготовленные на основе этих курсов. Для видеолекций я отбираю самые важные материалы, необходимые для понимания предмета, и рассказываю их кратко, без лишних деталей, которые затруднят восприятие. Несмотря на краткость, изложение ведется системно; это не набор забавных видео, никак не связанных между собой.