Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка_WireShark.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.7 Mб
Скачать

Дослідження мережних протоколів

Зміст

Зміст 1

Вступ 2

Програма WireShark 3

Інсталяція Wireshark 5

Інтерфейс користувача Wireshark 6

Тестовий запуск Wireshark 7

Завдання 11

Дослідження Ethernet та ARP 12

Перехоплення і аналіз кадрів Ethernet 12

ARP (протокол визначення адреси) 16

ARP Кешування 16

Спостереження за ARP в дії 17

Протокол IP 19

Перехоплення пакетів програми traceroute 19

Linux/Unix 19

Windows 20

Дослідження перехоплених пакетів 21

Фрагментація 23

Протокол ICMP 24

ICMP та ping 24

ICMP та tracert 27

Протокол HTTP 30

Базова взаємодія GET/response 30

Протокол SSL 35

Протокол TCP 37

Протокол UDP 43

Протокол служби DNS 44

Протокол DHCP 51

Експеримент з DHCP 51

Вступ

Розуміння мережних протоколів часто може значно поглиблюватися якщо “побачити ці протоколи в дії”, “погратися з ними”, а саме, дослідити послідовність повідомлень, які виникають при взаємодії двох сутностей ( програм або мережних модулів) при використанні протоколу, заглиблюючись в команди протоколу; дивлячись, як протокол виконує певні дії, а потім оцінювати наслідки цих дій. Це може бути зроблено за допомогою симуляції або ж в “реальному” мережному оточенні. В даних лабораторних роботах ми застосуємо останній підхід. Ви запустите деякий мережний додаток за різними сценаріями(підходами), використовуючи комп’ютер вдома або ж у лабораторії. Ви будете досліджувати мережні протоколи на комп’ютері «в дії», взаємодіючи і обмінюючись сутностями протоколу з серверами десь в Інтернеті. Таким чином, ви і ваш комп’ютер станете невід’ємними частинами «живої» лабораторної роботи. Ви будете досліджувати і спостерігати все в дії.

Як інструмент дослідження використано програму Wireshark, що вільно розповсюджується під ліцензією GNU GPL. Wireshark (раніше — Ethereal) — програма для аналізу пакетів різних мережних технологій (сніфер). Має графічний інтерфейс користувача. Програма дозволяє користувачеві переглядати весь трафік, що проходить по мережі в режимі реального часу, переводячи мережну карту в наскрізний режим (promiscuous mode).

Програма WireShark

Скажи мені і я забуду. Покажи мені і я запам’ятаю.

Залучи мене до цього і я зрозумію” – китайське прислів’я

Надалі сутності протоколу ми будемо називати користувачами протоколу.

Програма для спостереження за обміном повідомленнями між двома запущеними користувачами протоколу називається пакетним сніфером. Виходячи зі свого імені, пакетний сніфер ловить (“sniffs - нюхає”, англ.) повідомлення, що були прийняті/відправлені з якогось/на якийсь комп’ютер. Сніфер також може зберігати і/або показувати вміст різних полів протоколів в цих перехоплених повідомленнях. Пакетний сніфер сам по собі є пасивним інструментом. Він стежить за повідомленнями, які були відправлені і прийняті якимись прикладними програмами, що працюють на Вашому комп’ютері, але він ніколи сам не відсилає пакети. Крім того, отримані пакети ніколи не адресуються прямо на сніфер. Сніфер отримує копію вхідних / вихідних пакетів різних додатків і протоколів, що виконуються на комп'ютері.

Рис. 1 показує стуктуру сніфера пакетів. Праворуч – протоколи (в даному випадку – протоколи Інтернет) і прикладні програми (такі, як браузер або FTP-client), що зазвичай працюють на вашому компютері. Сніфер пакетів, показаний у пунктирному прямокутнику є доповненням до звичайної програми на вашому комп'ютері, і складається з двох частин: бібліотеки перехоплення пакетів (pcap для Linux або Winpcap для Windows), що отримує копію фреймів, переданих з вашого / на ваш комп'ютер. Всі повідомлення, якими обмінюються протоколи верхнього рівня (такі, як HTTP, FTP, TCP, UDP, DNS, IP) інкапсулюються в кадри канального рівня, які в свою чергу передаються через фізичний носій (наприклад, мережу Ethernet). На рис. 1 передбачається, що фізичне середовище – Ethernet, тому всі протоколи верхнього рівня інкапсулюються в кадр Ethernet. Перехоплення всіх кадрів канального рівня дає нам всі повідомлення, передані та отримані всіма протоколами та програмами, що виконуються на комп'ютері.

Рис. 1 Структура пакетного сніфера

Другим компонентом сніфера пакетів є аналізатор, який відображає вміст всіх полів перехоплених повідомлень. Аналізатор повинен "розуміти" структуру всіх повідомлень, якими обмінюються протоколи. Припустимо, ми зацікавлені в перегляді різних полів протоколу HTTP. Аналізатор пакетів розуміє формат фреймів Ethernet, і тому може ідентифікувати IP датаграму, що знаходиться в цьому Ethernet-фреймі. Він також розуміє формат IP датаграм, тому він може вилучити дані сегмента TCP, що міститься в цій IP датаграмі. Також аналізатор розуміє структуру TCP сегменту, тому він може отримати повідомлення HTTP, що містяться в даному TCP сегменті. Нарешті, він розуміє протокол HTTP і, наприклад, знає, що перший байт повідомлення HTTP буде містити рядок "GET", "POST", або "HEAD".

У цих роботах будемо використовувати сніфер пакетів Wireshark [http://www.wireshark.org/], що дозволить нам показати зміст повідомлень, відправлених/отриманих протоколами різних рівнів стеку. (З технічної точки зору, Wireshark є графічною оболонкою, яка використовує бібліотеки перехоплення пакетів). Wireshark є безкоштовним аналізатором мережних протоколів, який розповсюджується за ліцензією GNU/GPL і працює на Windows, Linux / Unix, Mac. Тому це ідеальний аналізатор пакетів для наших лабораторних робіт – він є стабільним, має велику базу користувачів і має добру документацію, яка містить в собі:

  • інструкцію користувача (http://www.wireshark.org/docs/wsug_html_chunked/),

  • сторінки документації (man (manual) pages) (http://www.wireshark.org/docs/man-pages/),

  • а також докладний FAQ (Frequently Asked Questions – Питання, що виникають найчастіше) (http://www.wireshark.org/faq.html),

Wireshark дає можливість аналізувати сотні мережних протоколів різних рівнів і має добре розроблений інтерфейс користувача. Wireshark працює на комп'ютерах, що використовують технології Ethernet, Token-Ring, FDDI, послідовний порт (PPP і SLIP), бездротові локальні мережі стандартів 802.11, а також (якщо ОС, на якій працює Wireshark, дозволяє це робити) з'єднання АТМ.