Робота з TCPDump
Ця утиліта є корисним інструментом для перехоплення й збирання пакетів, що надходять на сервер, а також виходять із нього.
Встановлення TCPDump
Для Ubuntu/Debian:
apt install tcpdump
Для Red Hat / CentOS:
sudo yum install tcpdump
Аргументи для команди
Використання
Щоб не засмічувати наш дамп зайвими пакетами, варто вибрати конкретний інтерфейс, з якого ми хочемо зібрати інформацію, а не всі. Переглянути список усіх інтерфейсів можна за допомогою такої команди:
tcpdump -D

Для виведення логів нашого мережевого інтерфейсу в режимі реального часу використовуємо команду:
tcpdump -i ens3
Не забувайте, що для TCPDump потрібні права суперкористувача, тому ці команди слід виконувати від імені root або з використанням sudo.
Після виконання команди ви побачите багато рядків, що швидко біжать; для зупинки дампа використовуйте комбінацію клавіш Ctrl + C
Спробуємо побачити докладнішу інформацію про пакети, використовуючи аргумент -v
tcpdump -i ens3 -v
Аргументи фільтрації
Не менш потужною можливістю є додаткові аргументи, завдяки яким ми можемо відсікати різні типи пакетів за такими параметрами:
Наприклад, ми можемо переглянути всі пакети, які виходять з нашого сервера до кінцевої адреси:
tcpdump dst 192.168.1.1
Або, навпаки, всі пакети, що надходять до нашого сервера з підмережі-джерела (можна також використовувати конкретну IP-адресу, як у прикладі вище):
tcpdump src net 192.168.1.1/24
Для пошуку пакетів потрібного розміру можна використовувати аргументи, наприклад:
tcpdump less 48 // пакети менше 48 байт
tcpdump greater 128 // пакети більше 128 байт
Припустімо, у вас є кілька серверів Garry's Mod на різних портах, і ви хочете перевірити, чи не здійснюється на них зараз DDoS-атака. Для цього нам підійде команда:
tcpdump -nnv udp src portrange 27015-27025 -w garrysmod.dump
Зверніть увагу на зазначений діапазон портів.
Завдяки аргументу -w дамп буде зібрано у файл garrysmod.dump.
Розширені оператори
Окрім усього іншого, в TCPDump доступні оператори для створення різних комбінацій аргументів.
Наприклад, ми можемо вивести весь трафік запитів MySQL, який 192.168.1.1 надсилає на порт 3306 (на будь-які адреси).
tcpdump -nnv src 192.168.1.1 and tcp dst port 3306
Завершення
Дякуємо за прочитання! Ми детально ознайомилися з надзвичайно корисним інструментом TCPDump, який є невід'ємною частиною роботи мережевих інженерів, а також обов'язково стане у пригоді звичайним користувачам.
Для читання пакетів у Windows ви можете використовувати програму WireShark.








