Указания к выполнению работы. Начинается работа с захвата пакетов, генерируемых программой Ping
ICMP и Ping
Начинается работа с захвата пакетов, генерируемых программой Ping. Это простая программа, позволяющая каждому (например, сетевому администратору) проверить, включен хост или нет. Эта программа посылает с хоста-источника пакеты на IP-адрес другого хоста; если он включен, то в ответ на это программа Ping отправляет пакеты к хосту-источнику запроса. Как Вы можете догадаться, оба эти сообщения являются ICMP-пакетами.
Порядок выполнения работы:
1. Откройте командную строку (Пуск > Выполнить). Введите команду cmd. В открывшемся окне перейдите в корневой каталог диска C:, введя cd\.
2. Откройте сетевой анализатор Wireshark и начните захват пакетов.
3. В открытом ранее приложении в командной строке наберите
windows\system32\ping –n 10 hostname
где hostname—имя хоста на другом континенте. Например, подойдёт сервер www.ust.hk,
аргумент -n 10 показывает, что будет отправлено 10 ping-сообщений.
4. Когда программа Ping завершит работу, остановите захват пакетов в Wireshark.
5. В конце эксперимента окно Командной строки должно выглядеть, как на рис.5.4. Видно, что было отправлено 10 пакетов-запросов и получено 10 пакетов-ответов. Также для каждого ответа рассчитано время оборота RTT, составляющее в среднем 350мс.
Рис.5.4.Командная строка после выполнения программы ping
На рис.5.5. показано окно Wireshark после того, как в поле фильтров было введено icmp: отображено 20 пакетов — 10 отправленных запросов и 10 полученных ответов. Рассмотрим первый пакет, отправленный клиентом. Видно, что IP-дейтаграмма имеет номер протокола 01, что соответствует протоколу ICMP. Это означает, что нагрузкой IP-дейтаграммы является ICMP-пакет.
Рис.5.5. Окно анализатора Wireshark с раскрытой информацией о первом ICMP эхо-запросе
Обратите внимание, что это пакет типа 8 с кодом 0 также носит название «запрос эха». Заметьте, что этот ICMP-пакет содержит также контрольную сумму, идентификатор и порядковый номер.
Контрольные вопросы
1. Каков IP-адрес Вашего хоста? Каков IP-адрес хоста-адресата?
2. Почему ICMP-пакеты не имеют номеров портов источника и адресата?
3. Рассмотрите один из пакетов-запросов, отправленных с Вашего компьютера. Какой тип и код у ICMP-сообщения? Какие еще поля есть у этого ICMP-сообщения? Каков размер (в байтах) у полей контрольной суммы, идентификатора и порядкового номера?
4. Рассмотрите одно из сообщений-ответов. Какой тип и код у ICMP-сообщения? Какие еще поля есть у этого ICMP-сообщения? Каков размер (в байтах) у полей контрольной суммы, идентификатора и порядкового номера?
5.2.2. ICMP и Traceroute
В этой части работы будет производиться захват пакетов, генерируемых программой Traceroute. Она отправляет серии ICMP-сообщений к хосту-адресату сначала с TTL=1, затем с TTL=2 и т.д. Каждый маршрутизатор, через который пройдет пакет, будет уменьшать величину TTL на 1. Когда пакет придет на маршрутизатор с TTL=1, тот отправит источнику ICMP-сообщение об ошибке. В работе будет использоваться программа tracert.
Порядок выполнения работы:
1. Откройте командную строку.
2. Откройте сетевой анализатор Wireshark и начните захват пакетов.
3. В открытом окне в командной строке наберите
c:\windows\system32\tracert hostname
где hostname — имя хоста на другом континенте. Для примера в качестве hostname можете использовать:
www.inria.fr (Франция);
www.desarrollosocial.gov.ar (Аргентина);
www.russianmalta.com (Мальта)
www.rususa.com (Америка)
4. Когда Traceroute завершит работу, остановите захват пакетов в Wireshark.
В конце эксперимента окно Command Prompt должно выглядеть, как на рис.5.6. Из рисунка видно, что для каждой величины TTL источник посылает по три пробных сообщения. Traceroute отображает время оборота RTT для каждого пробного пакета, а также IP-адрес маршрутизатора, отправившего ICMP-сообщение об истечении времени жизни пакета.
Рис.5.6. Командная строка после выполнения программы tracert
Рис.5.7 показывает окно Wireshark с ICMP-сообщением от маршрутизатора. Заметьте, что оно содержит больше полей, нежели ICMP-сообщение из программы Ping.
Рис.5.7. Окно анализатора Wireshark с раскрытой информацией о первом ICMP эхо-запросе
Контрольные вопросы
5. Каков IP-адрес Вашего хоста? Каков IP-адрес хоста-адресата?
6. Рассмотрите ICMP-сообщение «эхо-запроса» из Вашей работы. Какие отличия от подобного сообщения-запроса из первой части работы (ping)?
7. Рассмотрите ICMP-сообщение об ошибке (истечении времени жизни). Больше ли у него полей, чем у ICMP-сообщения «эхо-запроса»? Что включено в эти поля?
8. Рассмотрите последние три принятые Вашим хостом ICMP-пакета. Чем они отличаются от ICMP-сообщений об ошибке? Почему?
9. По измерениям в tracert: была ли сеть, где задержки значительно больше, чем в остальных? На основании имен маршрутизаторов можете ли Вы предположить местоположение двух последних маршрутизаторов в этой сети?