- •Дослідження мережних протоколів
- •Програма 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
Дослідження перехоплених пакетів
У перехоплених даних ви повинні побачити серію ICMP ехо-запитів (Windows) або сегментів UDP (Unix), що були відправлені, та відповіді на них проміжних маршрутизаторів (на рис. 10 присутні обидва типи запитів). У наведених нижче питаннях вважаємо, що ви використовуєте Windows. У випадку, якщо ОС – Unix, відповідні питання також мають бути зрозумілими.
Рис. 10. Запити traceroute і tracert, і відповіді на них
Виберіть перший ICMP ехо-запит, який був посланий вашим комп'ютером, і розкрийте деталі заголовку протоколу ІР. Якою є ІР адреса Вашого комп’ютера?
Дивлячись на заголовок ІР, скажіть яким є значення поля протоколу вищого рівня.
Який розмір має ІР заголовок? Скільки байтів містять дані корисного навантаження ІР дейтаграми? Поясніть, будь-ласка, як ви це визначили.
Чи була ця ІР дейтаграма фрагментована? Поясніть вашу відповідь.
Далі, відсортуйте пакети трасування за ІР адресою відправника. Виберіть перший ICMP ехо-запит і розкрийте деталі заголовку протоколу ІР. Використовуючи стрілки на клавіатурі, переключайтеся по ICMP повідомленнях, що були послані Вашим комп’ютером.
Які поля IP дейтаграми завжди змінюються?
Які поля IP дейтаграми не змінюються? Які поля не мають змінюватися? Які поля мають змінюватися? Чому?
Далі, знайдіть пакети ICMP відповідей.
Якими є значення полів ідентифікації та TTL ?
Чи ці значення не змінюються для всіх ICMP пакетів, що були послані на Ваш комп’ютер найближчим роутером? Чому?
Фрагментація
Відсортуйте лістинг пакетів за часом.
Знайдіть перший ICMP Echo Request, який було надіслано на Ваш комп'ютер після того, як Ви змінили розмір пакета в pingplotter на 2000. Чи було це повідомлення фрагментованим на декілька дейтаграм?
Виведіть перший фрагмент фрагментованої ІР дейтаграми. Яка інформація підкаже, що ця дейтаграма була фрагментована? Якої довжини ця ІР дейтаграма?
Виведіть другий фрагмент. Яка інформація покаже, що це не перший фрагмент? Чи існують ще якісь фрагменти? Чому?
Яке поле змінилося в заголовку ІР в першому і другому фрагментах.
Знайдіть перший ICMP Echo Request, який було надіслано на Ваш комп'ютер після того, як ви змінили розмір пакета в pingplotter на 3500.
Скільки фрагментів було створено з оригінальної дейтаграми?
Яке поле змінюється в ІР заголовку у фрагментах?
Протокол icmp
У цій лабораторній роботі ми розглянемо деякі аспекти протоколу ICMP:
ICMP повідомлення, які генеруються програмою ping;
ICMP повідомлення, які генерується програмою traceroute;
Формат та зміст ICMP повідомленнь.
До того, як починати дану роботу, ми рекомендуємо повторити інформацію про протокол ІР.
ICMP та ping
Почнемо дослідження ICMP за допомогою программи ping. Нагадаємо, що програма ping – це простий засіб, який дозволяє будь-якому користувачеві перевірити досяжність деякої IP адреси. Програма ping відправляє пакет ICMP (ехо-запит) на цільову IP адресу, яку ми перевіряємо, а та або відповідає, надсилаючи нам пакет ICMP (ехо-відповідь), або не відповідає.
Виконайте наступне:
Запустіть командне вікно (у Windows – cmd, у Unix/Linux – shell).
Запустіть Wireshark і почніть перехоплення пакетів.
В командному рядку наберіть команду
ping –n 10 <hostname>
де hostname – це доменне ім’я або IP адреса хосту. Поясніть, що означає аргумент 10.
Спостерігайте за результатами, які виводить програма ping. Після завершення роботи програми зупиніть перехоплення пакетів Wireshark.
По закінченню даної процедури командне вікно (у Windows) має виглядати приблизно так, як показано на рис. 11.
Рис. 11. Результат роботи програми ping у командному вікні
При фільтрації “icmp” вікно Wireshark має виводити інформацію, аналогічну показаній на рис. 12, 13.
Лістинг на рис. 12 показує 20 пакетів: 10 тих, що були відправлені, та 10, які були отримані у відповідь. Також бачимо, що ІР дейтаграми даних пакетів мають номер мережного протоколу 1, що є номером ІСМР. Це означає, що дейтаграми ІР містять повідомлення ІСМР.
На рис. 13 показана докладніша інформація про зміст пакету ІСМР. Зверніть увагу на те, що ICMP пакети, що генеруються програмою ping, є пакетами типу 8 з кодом 0 – так звані пакети ІСМР ехо-запитів. Також зверніть увагу на те, що ці пакети обов’язково мають контрольну суму, ідентифікатор та порядковий номер.
Рис. 12. Результат роботи програми ping у вікні Wireshark – інформація протоколу IP
По результатам ping – тесту дайте відповіді на наступні запитання:
Якою є ІР адреса вашого комп’ютера? Якою є ІР адреса хоста призначення?
Чому ІСМР пакети не мають порта відправника та порта призначення?
Яким є тип і код ІСМР пакету, що був відправлений вами?
Яким є тип і код ІСМР пакету, що був отриманий вами у відповідь?
Рис. 13. Результат роботи програми ping у вікні Wireshark – інформація протоколу ICMP
ICMP та tracert
Дослідимо пакети ІСМР, що відправляються програмою tracert (в ОС Windows). Докладніше про дану програму та принципи її роботи Ви можете дізнатися в попередній лабораторній роботі.
Відкрийте командний рядок Windows
Запустіть Wireshark і почніть перехоплення пакетів.
В командному рядку наберіть
tracert <hostname>
де hostname – це віддалений хост.
При закінченні тесту припиніть перехоплення пакетів Wireshark.
Рис. 14. Результат роботи програми tracert у командному вікні Windows
Рис. 15. Результат роботи програми tracert у вікні Wireshark
По закінченню цієї процедури Ваше командне вікно має мати приблизно такий вигляд, як показано на рис.14.
Рис. 15 показує вікно Wireshark, що виводить ІСМР пакети, які були повернуті маршрутизатором. Зверніть увагу на те, що це є повідомлення ІСМР про помилки, які містять набагато більше інформації, ніж ті пакети ICMP ехо-запитів, що призвели до цих помилок.
Зверніть увагу на те, що виведено у командному вікні і у вікні Wireshark, і дайте відповіді на наступні питання:
Якою є Ваша ІР адреса? Якою є ІР адреса хоста призначення?
Якщо ІСМР надсилає UDP пакети, чи буде для даних пакетів номер протоколу ІР 01? Якщо ні, то яким він буде?
Яка різниця між ICMP пакетами, що були отримані в першій частині лабораторної роботи і в другій?
Дослідіть ІСМР пакети помилок. Які є відмінності між ними і пакетами ICMP echo?
Чи з виведених даних tracert можна дізнатися, який з каналів маршруту мав затримку з відповіддю значно довшу, аніж інші?
