Wireshark - практика перехоплення
2.1 Навіщо використовується Wireshark?
- Системні адміністратори використовують його для вирішення проблем у мережі.
- Аудитори безпеки використовують його для виявлення проблем у мережі.
- Розробники використовують його для налагодження мережевих програм.
- Звичайні користувачі використовують його вивчення внутрішнього пристрою мережевих протоколів.
- Працює на більшості сучасних операційних систем (Microsoft Windows, Mac OS X, UNIX). Wireshark – продукт із відкритим вихідним кодом, який розповсюджується на основі ліцензії GPL. Його можна використовувати на будь-якій кількості комп'ютерів, не побоюючись за введення ліцензійних ключів, продовження ліцензії та інші неприємні заходи. Тому спільноті дуже легко додавати до нього підтримку нових протоколів у вигляді плагінів або безпосередньо вшити її у вихідний код.
- Перехоплення трафіку мережного інтерфейсу як реального часу. Wireshark може перехоплювати трафік різних мережевих пристроїв, відображаючи його ім'я (включно з бездротовими пристроями). Підтримуваність того чи іншого пристрою залежить від багатьох факторів, наприклад, від операційної системи.
- Безліч протокольних декодувальників (TELNET, FTP, POP, RLOGIN, ICQ, SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, MSN, YMSG та інші).
- Збереження та відкриття раніше збереженого мережевого трафіку.
- Імпорт та експорт файлів з інших пакетних аналізаторів. Wireshark може зберігати перехоплені пакети у багато форматів інших пакетних аналізаторів, наприклад: libpcap, tcpdump, Sun snoop, atmsnoop, Shomiti/Finisar Surveyor, Novell LANalyzer, Microsoft Network Monitor, AIX's iptrace.
- Дозволяє фільтрувати пакети за багатьма критеріями.
- Дозволяє шукатипакети за багатьма критеріями.
- Дозволяє підсвічувати захоплені пакети різних протоколів.
- Дозволяє створювати різноманітну статистику.
- Wireshark – це система виявлення вторгнень. Він не попередить, якщо хтось робить дивні речі в мережі. Однак якщо це відбувається, Wireshark допоможе зрозуміти що ж насправді сталося.
- Wireshark не вміє генерувати мережевий трафік, він може лише аналізувати існуючий. В цілому, Wireshark ніяк не проявляє себе в мережі, окрім резолвінгу доменних імен, але і цю функцію можна відключити.
Установка ніфера Wireshark під Windows є тривіальним завданням і виконується майстром установки. Якщо на комп'ютері відсутня бібліотека WinPcap, вона буде встановлена разом зі сніфером. На кроці вибору компонентів можна встановити деякі супутні інструменти:
- TShark - консольний аналізатор мережного трафіку;
- Rawshark - фільтр "сирих" пакетів;
- Editcap – утиліта, що дозволяє відкривати збережені пакетні дампи та змінювати їх;
- Text2Pcap – утиліта для конвертації HEX-дампів (побайтове представлення) пакетів у формат Pcap;
- Mergecap – утиліта для з'єднання кількох дампів у один файл;
- Capinfos – утиліта для надання інформації про збережені дампи;
- Деякі плагіни розширеної статистики.
2.4 Інтерфейс Wireshark
Інтерфейс програми Wireshark представлений малюнку 1.
2.5 Перехоплення трафіку
Перехоплення трафіку є однією з ключових можливостей Wireshark. Двигун Wireshark з перехоплення надає такі можливості:
- перехоплення трафіку різних видів мережного обладнання (Ethernet, Token Ring, ATM та інші);
- припинення перехоплення з урахуванням різних подій: розміру перехоплених даних, тривалість перехоплення за часом, кількість перехоплених пакетів;
- показ декодованих пакетів під час перехоплення;
- фільтрація пакетів з метою зменшення розміру перехопленої інформації;
- запис дампів у кілька файлів, якщо перехоплення триває довго. Двигун не може виконувати такі функції:
- перехоплення трафіку з кількох мережних інтерфейсів одночасно (проте існує можливість запустити кілька копій Wireshark – кожна для свого інтерфейсу);
- припинення перехоплення залежно від перехопленої інформації.
Після натискання однієї з цих кнопок з'явиться вікно зі списком мережевих інтерфейсів, доступних у системі (рисунок 3).
Малюнок 4 – Налаштування перехоплення
Малюнок 5 – Інформація про інтерфейс
3. Практика перехоплення
Після натискання на кнопку Start почалося перехоплення пакетів. Якщо мережна активність висока, можна відразу побачити масу незрозумілих вхідних чи вихідних пакетів. Вони нас поки що мало хвилюють, зараз ми займемося вивченням всім відомої утиліти ping.
3.1 Утиліта ping
Тепер, якщо опитування хоста пройшло так само успішно, як показано на малюнку, відкриємо вікно Wireshark, щоб подивитися на це докладніше. Там ми швидше за все побачимо повнийбардак і розбиратися в цьому потрібно буде дуже довго. Тут нам на допомогу і прийдуть фільтри! Утиліта ping працює за протоколом ICMP, тому впишемо назву цього протоколу в рядок фільтра та натиснемо Apply. Має вийти щось схоже на малюнок 7.
Тут ми можемо спостерігати як відбувається Echo Request та Echo Reply у протоколі ICMP зсередини: які тестові дані надсилаються, які прапори символізують про те, що це саме Echo Request, та іншу не менш важливу інформацію.
3.2 Перехоплення FTP трафіку
3.3 Перехоплення документа, переданого протоколом SMB