Для аналізу мережевих пакетів і перегляду їх вмісту одним з найпотужніших методів вважають саме захоплення цих пакетів. За допомогою такої операції можна багато чого дізнатися про те, що і як відбувається в мережі. Досить вивчити сирі дані, які передаються таким чином. Потоки даних не просто захоплюються – можна отримати їх інтерпретацію у вигляді, доступному для розуміння людини. В Linux зробити це можна за допомогою утиліти TCPdump.
Що це таке?
Для фахівців з комп’ютерної безпеки утиліта TCPdump може стати головним інструментом. Це важливе додаток, пов’язане з великою кількістю нюансів. Багатьом подобаються інструменти більш високого рівня, але такий підхід часто сприймають як помилковий.
Програму створено для прослуховування і аналізу роботи мережі. Завдяки додатковим налаштувань програма може проводити аналіз для різних пакетів – призначених не тільки для конкретного Mac-адреси. Припустимо широкомовний тип.
Доступна утиліта TCPdump не тільки в Linux, але і Windows. Завантажити оригінальний клон можна з офіційного сайту, але продукт платний.
Обладнання для підключення до мережі визначає набір можливостей, доступних користувачеві. Ось деякі з них:
- «Трюки» з концентраторами. Коммутаторный порт, прослуховування якого необхідна, з’єднують з участю концентратора. Вузол-монітор теж з’єднують з комутатором. Мережеве підключення відрізняється низькою продуктивністю, але результати все одно є.
- Використання спеціальних засобів або відгалужувачів. Вони включаються в розрив мережевих підключень. Передають трафік на окремий порт, в результаті чого стає доступним його прослуховування.
- Копіювання трафіку. Підтримується лише деякими комутаторами.
- Спостереження за комутаторами або свічами, що утворюють мережу. Комутатору доступний не тільки трафік мережі, але і весь широкомовний трафік, зв’язаний із сегментом.
- Робота в мережах на основі концентраторів.
Принцип роботи
Перед початком використання утиліти TCPdump треба розібратися в тому, які вона підтримує мережеві інтерфейси. Для виконання основних завдань знадобляться права адміністратора. Тому в перших командах важливо вказувати параметр, який позначається як sudo та ім’я адміністратора, після натискання Enter ввести пароль.
Установка будильника на комп’ютері або ноутбуці
Поєднання клавіш Ctrl + C зупиняє роботу того або іншого заданого параметра. Всі перехоплені пакети будуть відображатися у висновку практично відразу.
Формат перехоплення має наступний вигляд:
Такий формат підтримує більшість пакетів, що містять дані. Текст, виділений чорним кольором, може відрізнятися в кожному випадку, залежно від використовуваного протоколу. Елементи коду йдуть в такій послідовності:
- тимчасові мітки;
- протокол;
- IP-адреса відправника;
- адреса адресата;
- характеристики інших різновидів;
- вимірюваний байтами розмір пакетів.
—V – опція, що дозволяє легко контролювати подробиця виведення інформації. Наприклад, додатково відображаються відомості, пов’язані з протоколом IP.
Що може дізнатися користувач конкретно:
- Довжина поля заголовка.
- Версія протоколу TCP.
- Час життя пакету TLL.
Перевірка контрольних сум виводиться при використанні команди –vv. У деяких випадках докладно відображається вміст пакетів.
Після використання опцій легко вказувати фільтри, які застосовують для тих чи інших пакетів. Ось лише основні параметри, використовувані при відсіюванні:
- Кілька видів протоколів, включаючи udp, tcp, decnet, rarp, arp, ip6, ip. wlan, tr, fddi, ether.
- DST – параметр, пов’язаний з одержувачем.
- SRC – відправник.
- Port – зазначення адреси порту.
- Net – адреси мереж, підмереж.
- Proto – вказівка протоколу.
- IP – ip адресу.
- Host – ім’я хоста.
Для отримання бажаного результату дозволяється комбінувати різні команди один з одним.
Установка TCPdump
Необхідно виконати наступні кроки, коли мова йде про системах Debian/Ubuntu/Linux Mint: прописують команду sudo apt – get install tcpdump.
По-іншому буде виглядати поєднання для RedHat/CentOS/Fedora: sudo yum install tcpdump.
Опис синтаксису
Наведемо кілька прикладів використання TCPdump в Linux, здатних помітно спростити використання додатка, для користувачів будь-якого рівня.
З пакету додаток приймає стандартно тільки перші 6896 байт. Додавання опції –s дозволяє отримати більш докладну інформацію, коли виникає необхідність. Число вказує, скільки байтів планує перехопити той чи інший користувач. Захоплення всіх проводиться при вказівці комбінації –s 0 (нуль).
У самої команди синтаксис такий: $ tcpdump опції-i інтерфейс фільтри
Якщо USB-пристрій не розпізнається
Головне – не забувати про передачу інтерфейсу, який буде використаний. Якщо вказівки щодо цього відсутні – автоматично програма використовує перший елемент списку. Завдяки фільтрам стає простіше фільтрувати пакети, не представляють інтересу для кінцевого користувача. Програма підтримує наступний набір основних ключів:
- Z – позначення користувача, від імені якого відбувається створення для всіх файлів.
- W – запис у файл для виводу.
- Q – команда, що дозволяє вивести мінімальну кількість інформації.
- Більш докладний висновок передбачає застосування команд –v, —vv, —vvv.
- R – для зчитування пакетів, створених за допомогою команди w.
- N – скасовує відображення доменних імен.
- L – для виведення підтримуваних протоколів, через які підключають інтерфейс.
- L – висновку додають функцію прокрутки.
- K – після використання контрольні суми перевірятися не будуть.
- J – перегляд доступних часових міток (TimeStamp).
- Маленька j встановлює формат Time Stamp щодо створених пакетів.
- I – перемикання режиму монітора, який буде діяти для всіх пакетів.
- Маленька i задає ім’я користувача при перехоплення пакетів. Пакети можуть захоплюватися зі всіх інтерфейсів, досить задати параметр any.
Основні команди і фільтри
Вставка фільтрів – головна особливість, характерна для синтаксису tcpdump. Наступне опис наводять для самих популярних варіантів:
- Less, greater – пакети виводяться більше або менше в порівнянні з вказаним розміром.
- And, Or – об’єднання відразу декількох фільтрів всередині однієї команди.
- Port – для відображення інформації, пов’язаної з певним портом.
- Arp, upd, tcp – фільтрація з використанням одного з протоколів.
- Dst – для виведення з вказаною адресою.
- SRC – виводить пакети, відправником яких визнано конкретну адресу.
- IP – опис адреси протоколу.
- NET – опис IP головної мережі та мережі.
- HOST – щоб вказати ім’я хоста.
Припустимо створювати комбінації, що включають відразу кілька фільтрів. Завдяки цьому у видачі інформації користувач бачить тільки те, що дійсно представляє інтерес.
Приклади використання
Варіантів застосування утиліти безліч. Можна розглянути лише найбільш цікаві та популярні.
Способи чищення реєстру Windows
Перегляд списку з інтерфейсами
Кожному користувачеві рекомендують з самого початку дивитися списки поточних інтерфейсів. Варіант актуальний для всіх досліджуваних компонентів. Стандартно для вирішення питання застосовують опцію –D. Наступна команда, внесена в термінал, дозволить отримати список:
Sudo tcdump –D.
Про звичайному захоплення трафіку
—i – ось опція, що полегшує захоплення трафіку. Після введення команди слід точне вказівку використовуваного інтерфейсу. На практиці застосування команд має приблизно такий вигляд:
Sudo tcpdump –I ppp0
Права суперкористувача обов’язкові, тому спочатку і вводять sudo.
Натискання клавіші Enter призводить до відображення пакетів, перехоплених в терміналі. Комбінація клавіш Ctrl+C зупиняє цей процес.
При відсутності додаткових пакетів з фільтрами наступним чином виглядає формат, в якому відображаються пакети:
Основні моменти виділені за допомогою різних кольорів:
- Червоним кольором виділяють розміри, з одиницею виміру у вигляді байтів.
- Додаткова інформація по TCP виділяється сірим.
- Фіолетовим – адреса, за якою знаходять одержувачів.
- Відправник та його адреса — зелений.
- Протокол з його версією позначають помаранчевим.
- Час отримання – синій колір.
Захоплення трафіку за допомогою –V
Опція сприяє збільшенню кількості відомостей, показаних користувачеві. За введенням команди нижче перевірка по всьому інтерфейсу:
Sudo tcpdump –v –I ppp0
У висновку може з’явитися такий рядок:
Розшифрувати її можна так:
- Червоний – позначення розміру пакета.
- Фіолетовим позначають версію для TCP.
- Зелений – довжина заголовка полів.
- Синім позначають, скільки часу живе протокол.
- Помаранчевий – версія протоколу.
Додавання літер vv, vvv збільшить обсяги інформації за протоколом.
-w і -r
Команди w і r використовують для збереження в окремий файл всіх виведених відомостей. Потім це спрощує перегляд. Зручний варіант, щоб зберегти великі обсяги текстів для перегляду.
Є і інші поєднання, які використовуються власниками пристроїв для максимально ефективної роботи. Можливості цього інструменту відрізняються широтою. Головне – запам’ятати літерні сполучення, застосовні в тому чи іншому випадку. З часом на виконання дій буде йти мінімум часу.