Дамп сетевого трафика в Linux с помощью tcpdump

Компьютерная безопасность icon

При криминалистической экспертизе, а в частности при создании дампа сетевого трафика в Linux используются несколько утилит: прежде всего — консольная tcpdump, классика жанра Wireshark и опенсорсный фреймворк Xplico, хотя последний больше используется для последующего анализа данных, чем для их первоначального сбора.

Дамп сетевого трафика в Linux с помощью tcpdump

Базовый вызов команды tcpdump выглядит следующим образом:

А вот команды и параметры запуска tcpdump:

  • -i интерфейс — задает интерфейс, с которого необходимо анализировать трафик;
  • -n — отключает преобразование IP в доменные имена;
  • -e — включает вывод данных канального уровня (например, MAC-адреса);
  • -v — вывод дополнительной информации (TTL, опции IP);
  • -w имя_файла — задает имя файла, в который нужно сохранять собранную информацию (дамп);
  • -r имя_файла — чтение (загрузка) дампа из заданного файла;
  • -q — переводит tcpdump в «бесшумный режим», в котором пакет анализируется на транспортном уровне (протоколы TCP, UDP, ICMP), а не на сетевом (протокол IP);
  • -c количство — захват только определенного количества пакетов;
  • host ip_адрес — захват пакетов с определенным IP-адресом;
  • port номер_порта — захват пакетов с определенным портом;
  • icmp — захват пакетов с определенным протоколом;
  • -nn — вывод IP-адресов вместе с номерами портов;
  • -A — отображение каждого пакета в ASCII;
  • -X — отображение содержимого пакета в HEX;
  • -w имя_файла — запись захваченных пакетов в файл;
  • -D — вывод списка всех доступных сетевых интерфейсов, с которых tcpdump может собирать пакеты;
  • -V — чтение списка сохраненных файлов;
  • -Q out — просмотр всех запросов, которые отправляются на сервер;
  • -f фильтр — использование фильтров для сбора только нужных данных;

Дамп всего входящего трафика, идущий из интернета на наш сервер:

Пример создания дампа сетевого трафика по протоколам FTP или SSH на интерфейсе eth0:

Дампим вообще все, что идет на интерфейс eth0:

Результат работы tcpdump
Результат работы tcpdump

Еде одна годная для наших целей утилита — это TCPflow. По сути, более продвинутый вариант tcpdump, который поддерживает еще больше параметров фильтрации и возможность восстанавливать «сломанные» пакеты.

Если TCPflow по умолчанию нет в системе, то для начала ставь пакет tcpflow.

Далее базовый синтаксис команды выглядит так:

А вот описание опций:

  • -c — только консольная печать (не создавать файлы);
  • -d — уровень отладки (по умолчанию 1);
  • -e — выводить каждый поток чередующимися цветами (синий — клиент-сервер, красный — сервер-клиент, зеленый — неизвестно);
  • -i — сетевой интерфейс для прослушивания;
  • -r — чтение пакетов из выходного файла tcpdump;
  • -s — удалить непечатаемые символы (будут заменяться точками).

Пример сбора данных, идущих из внешней сети на наш сервер:

Собираем весь трафик HTTP в нашей сети:

Дамп данных сетевого потока в локальную папку:

Теперь в директорию /tcpflowdata будут складываться файлы с содержанием сетевых подключений. Все, что нам потом останется сделать, — это перекинуть их для анализа в парсер.

Результат работы TCPflow
Результат работы TCPflow

Еще по теме: Дистрибутивы для криминалистического анализа

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз.

Добавить комментарий