- •Дослідження мережних протоколів
- •Програма WireShark
- •Інсталяція Wireshark
- •Інтерфейс користувача Wireshark
- •Тестовий запуск Wireshark
- •Завдання
- •Дослідження Ethernet та arp
- •Перехоплення і аналіз кадрів Ethernet
- •Arp (протокол визначення адреси)
- •Arp Кешування
- •Спостереження за arp в дії
- •Протокол ip
- •Перехоплення пакетів програми traceroute
- •Дослідження перехоплених пакетів
- •Фрагментація
- •Протокол icmp
- •Протокол http
- •Базова взаємодія get/response
- •Умовна взаємодія http get/response
- •Завантаження великих документів
- •Html документи, що містять зовнішні об’єкти
- •Аутентифікація http
- •Протокол ssl
- •Перехоплення пакетів ssl сесії
- •Аналіз перехоплених пакетів
- •Протокол tcp
- •Перехоплення tcp пакетів, переданих від вашого комп’ютера на віддалений сервер
- •Перший погляд на перехоплені пакети
- •Основи tcp
- •Керування перенавантаженням tcp
- •Протокол udp
- •Протокол служби dns
- •Стеження за dns пакетами за допомогою Wireshark
- •Протокол dhcp
- •Експеримент з dhcp
Перехоплення пакетів програми traceroute
З метою формування послідовності IP дейтаграм будемо використовувати програму traceroute для відправки дейтаграм різних розмірів у певний пункт призначення.
Нагадаємо, що traceroute працює таким чином: спочатку відправляється одна або декілька дейтаграм з встановленим в 1 полем заголовку IP “час життя” (time-to-live – TTL). Потім надсилається серія з однієї або декількох дейтаграм з тією ж адресою призначення, але зі значенням TTL 2, далі – серія дейтаграм зі значенням TTL 3, і так далі. Кожний маршрутизатор повинен зменшувати на 1 TTL кожної отриманої дейтаграми. Коли TTL досягне 0, маршрутизатор повинен знищити дейтаграму і повернути повідомлення ICMP TTL-exceeded (типу 11) на хост-відправник. У результаті, дейтаграма з TTL 1 знайде адресу першого маршрутизатора, дейтаграма з TTL 2 викличе відправку ICMP відповіді маршрутизатора 2, і т.д. Таким чином, програма traceroute допоможе виявити маршрут від вашого комп’ютера до шуканої адреси.
Запустимо traceroute і змусимо відправляти дейтаграми різної довжини. Послідовність дій відрізняється в залежності від того, на якій платформі виконується лабораторна робота – Unix/Linux чи Windows.
Linux/Unix
За допомогою команди traceroute розмір дейтаграми UDP, що посилається за призначенням, може бути явно встановлений шляхом зазначення кількості байтів дейтаграми. Це значення вводиться в команді traceroute відразу після імені або адреси призначення. Наприклад, щоб traceroute відправила дейтаграму довжиною 2000 байт на адресу gaia.cs.umass.edu, команда має виглядати:
% traceroute gaia.cs.umass.edu 2000
Виконайте наступні дії:
Запустіть Wireshark і почніть перехоплення пакетів.
Введіть 3 команди traceroute, одна з довжиною 56 байт, наступна з довжиною 2000 байт, і остання з довжиною 3500 байт.
Зупиніть перехоплення пакетів (Ви можете завантажувати послідовність перехоплених дейтаграм у файл).
Windows
У Windows замість traceroute застосовується програма tracert, яка працює за аналогічним алгоритмом. Однак, tracert в якості запитів застосовує не дейтаграми UDP, як traceroute, а ICMP ехо-запити (ping). У більшості випадків це не впливає на результат.
Але програма tracert не дозволяє змінити розмір запиту. Тому для трасування у цій частині лабораторної роботи ми будемо використовувати програму pingplotter, що доступна у безкоштовній і умовно-безкоштовній версіях на http://www.pingplotter.com. Будемо вважати, що ця програма вже всановлена на робочій станції, на якій виконують лабораторну роботу. Протестуйте pingplotter, виконавши декілька traceroute-запитів на ваші улюблені сайти. Ви можете явно встановити розмір ехо-запитів в pingplotter, вибравши в меню EditAdvanced OptionsPacket Options, а потім заповнивши поле розміру пакетів. За замовчуванням розмір пакетів дорівнює 56 байтам.
Виконайте наступні дії:
Запустіть Wireshark і почніть перехоплення пакетів.
Запустіть pingplotter і введіть адресу призначення в полі Address to Trace Window. Введіть 3 в полі # of times to Trace (не дуже багато, щоб не збирати забагато даних). Виберіть пункт меню EditAdvanced OptionsPacket Options і введіть значення 56 в полі Packet Size, а потім натисніть ОК. Натисніть кнопку Trace. Ви повинні побачити вікно pingplotter, яке виглядає приблизно так, як на рис. 9.
Рис. 9. Вікно програми pingplotter
Далі відправте набір дейтаграм більшої довжини, для чого виберіть EditAdvanced OptionsPacket Options і введіть значення 2000 в полі Packet Size, а потім натисніть ОК. Тепер натисніть кнопку Resume.
І нарешті, відправте набір дейтаграм ще більшої довжини, для чого виберіть EditAdvanced OptionsPacket Options і введіть значення 3000 в полі Packet Size, а потім натисніть ОК. Знов натисніть кнопку Resume.
Зупиніть Wireshark трасування.
