Лабораторне заняття 7. Основи Ethernet та IP.

ДОДАТОК 7.3. ВСТАНОВЛЕННЯ І РОБОТА З WIRESHARK

Д.7.3.1. Загальні відомості про сніфери та Wireshark

Sniffer (від англ. to sniff – нюхати) – це мережний аналізатор трафіку, програма або програмно-апаратний пристрій, призначений для перехвату та наступного аналізу, або тільки аналізу мережного трафіку, призначеного для інших вузлів. Перехват трафіку може відбуватися:

  • звичайним "прослуховуванням" мережного інтерфейсу; метод ефективний при ивикористанні в сегменті концентраторів (hub) замість комутаторів (switch), в іншому випадку метод малоефективний, оскільки на сніфер попадають лише окремі кадри, які призначені приймаючому вузлу;
  • підключенням сніферу в розрив каналу;
  • відгалуженням (програмним чи апаратним) трафіку і направленням його копії на сніфер;
  • через аналіз побічних електромагнітних випромінювань та відновленням таким чином трафіку, що прослуховується;
  • через атаку на канальному рівні (2-му) або мережному рівні (3-му), яка приводить до перенаправлення трафіку жертви або всього трафіку сегменту на сніфер з наступним поверненням трафіку на потрібну адресу .

Сніфери застосовуються як в благих, так і деструктивних цілях. Аналіз трафіку, що проходить через сніфер, дозволяє:

  • відслідковувати мережну активність додатків;
  • відлагоджувати протоколи мережних додатків;
  • локалізувати несправність або помилку конфігурації;
  • знаходити паразитний, вірусний та закільцьований трафік, наявність котрого збільшує навантаження мережного обладнання та каналів зв’язку;
  • виявити в мережі шкідливе ПО, наприклад, мережні сканери, флудери, троянські програми, клієнти пірингових мереж та інші;
  • перехватити любий незашифрований (а інколи і зашифрований) трафік користувача з ціллю дізнавання паролів та іншої інформації

Поступово із інструментів, призначених тільки для діагностики, сніфери перетворилися в засоби для дослідження та навчання. Наприклад, вони постійно використовуються для вивчення динаміки і взаємодії в мережах. Зокрема, вони дозволяють легко та наглядно вивчати тонкощі мережних протоколів. Спостерігаючи за даними, які відправляє протокол, можна глибше зрозуміти його функціонування на практиці, а заодно побачити, коли деяка конкретна реалізація робить не у відповідності зі специфікацією. На сьогоднішній момент існує достатня кількість хороших реалізацій сніферів. Деякі з них:    

Програма Wireshark являеться однією з самих зручних реалізацій сніферів, яка доступна для багатьох ОС і поширюється безкоштовно.  На рис.Д9 зображена структура мережної підсистеми ОС. Уся базова інфраструктура реалізована у вигляді драйверів та працює в режимі ядра. Процеси користувача та реалізації прикладних протоколів, зокрема інтерфейс сніферу працюють в режимі користувача.

Рис.Д9. Принцип захвату мережного трафіку.

 

Основними компонентами сніферу є: драйвер для захоплення пакетів (libpcap драйвер), інтерфейсна бібліотека (libpcap) та інтерфейс користувача (Wireshark). Бібліотека libpcap (реалізація під ОС Windows носить назву WinPcap - http://www.winpcap.org) – універсальна мережна бібліотека, яка самостійно реалізує велику кількість мережних протоколів та працює безпосередньо з NDIS драйверами (Network Driver Interface Specification) мережних пристроїв. На базі даної бібліотеки реалізована велика кількість мережних програм, в тому числі сніфер Wireshark.

Сніфери використовують бібліотеку в режимі "захоплення" пакетів, тобто може отримувати копію всіх даних що проходить через драйвер мережного інтерфейсу. Зміни в самі дані не вносяться. Якщо локальний трафік не проходить через драйвер мережного пристрою (див. рис.Д9), то він не буде видимий сніфером.

Wireshark дозволяє в режимі реального часу захватувати пакети з мережі, та аналізувати їх структуру. Також можна аналізувати структуру пакетів з файлу, який вміщує трафік, отриманий, наприклад програмою «tcpdump» (unix/linux).