Захват пакетов с помощью программы Traceroute
При запросе генерации следов IP-дейтаграмм в этой лабораторной работе мы будем использовать программу Traceroute, чтобы отправлять дейтаграммы разного размера к хосту-адресату.
Программа Traceroute сначала отправляет серию из одной или нескольких дейтаграмм со временем жизни (time-to-live, TTL) установленном в заголовке IP равным 1; затем она отсылает серии дейтаграмм к тому же хосту с TTL равным 2; затем с TTL равным 3 и т.д. Кроме того, для каждой из этих дейтаграмм отправитель запускает таймер. Также напомним, что каждое соединение должно уменьшать значение TTL в каждой полученной дейтаграмме на 1. Когда значение TTL достигнет 0, то n-й маршрутизатор, на который пришла эта дейтаграмма, увидит, что время жизни этой дейтаграммы только что истекло. В соответствии с правилами протокола IP, маршрутизатор отбрасывает эту дейтаграмму и посылает источнику предупреждающее ICMP-сообщение (тип 11 – время жизни истекло). Это сообщение содержит имя маршрутизатора и его IP-адрес. Когда это сообщение приходит к отправителю, тот по значению таймера узнает время оборота пакета, а также (из ICMP-сообщения) имя и IP-адрес n-го маршрутизатора. Таким образом, программа Traceroute позволяет проследить маршрут от одного хоста до другого.
Итак, нам необходимо запустить программу Traceroute и отправить дейтаграммы различной длины. Наиболее подходящим вариантом этой программы для Windows является программа Pingplotter. Размер ICMP запросов эха в этой программе устанавливается путем выбора пункта меню Edit>Advanced Options>Packet Options и последующего заполнения поля Packet Size. По умолчанию этот размер составляет 56 байт. Единовременно Pingplotter отправляет серии пакетов с увеличивающимися значениями TTL, затем процесс отправки возобновляется с TTL=1 по истечении времени ожидания. Время ожидания и количество интервалов в этой программе можно установить.
4.2.2. Порядок выполнения работы:
1. Запустите программу Wireshark, начните захват пакетов (Capture>Start) и нажмите ОК в окошке Wireshark Packet Capture Options, поскольку пока не нужно выбирать какие-либо опции. Если пакеты не захватываются, проверьте, правильно ли выбрана сетевая карта (Capture>Options>Interface).
2. Не прекращая захвата пакетов программой Wireshark, Запустите Pingplotter и введите имя хоста-адресата в окне Address to Trace (например, www.yandex.ru). Поставьте значение 3 в поле # of times to Trace, потому что нам не нужно собирать слишком много информации. Выберите пункт меню Edit>Options>Packet и введите значение 56 в поле размера пакета (Packet size), нажмите ОК. Затем нажмите Trace, и Вы увидите окно, как на рис.4.2.
Рис.4.2. Окно программы Pingplotter
3. Не останавливая работу программы, отправьте дейтаграммы с большей длиной: в меню Edit>Options>Packet установите длину пакета равной 2000, нажмите ОК и кнопку Resume.
4. Наконец, отправьте дейтаграммы с большей длиной: в меню Edit> Options>Packet установите длину пакета равной 3500, нажмите ОК и кнопку Resume.
5. Прекратите захват в Wireshark.