Linux
January 3

Команды tcpdump

Cписок команд и параметров для tcpdump, одной из самых популярных утилит для захвата и анализа сетевого трафика.


1. Основной синтаксис

tcpdump [опции] [выражение фильтра]

2. Основные опции

  • -i <интерфейс> Указывает интерфейс для захвата (например, eth0, wlan0).
  • -D Показывает список всех доступных интерфейсов.
  • -n Не преобразует IP-адреса и порты в имена (ускоряет анализ).
  • -nn Не преобразует IP-адреса, имена портов и протоколов.
  • -c <число> Захватывает только указанное количество пакетов.
  • -s <размер> Устанавливает размер захвата пакета (по умолчанию 262144).
  • -w <файл> Сохраняет захваченные пакеты в файл для последующего анализа (формат pcap).
  • -r <файл> Читает захваченные пакеты из файла pcap.
  • -v, -vv, -vvv Увеличивает детализацию выводимой информации.
  • -X Показывает содержимое пакетов в ASCII и HEX.
  • -XX Показывает содержимое заголовков и данных пакета в HEX и ASCII.
  • -A Показывает содержимое пакетов в ASCII (удобно для HTTP/SMTP).
  • -C <размер> Делит захват на файлы размером не более указанного значения (в мегабайтах).
  • -G <интервал> Делит захват на файлы с интервалом времени (в секундах).
  • -z <команда> Указывает команду для выполнения после сохранения файла (например, компрессия).
  • -E <ключ> Расшифровка трафика с использованием заданного ключа (например, для IPsec).
  • -N Не отображает доменные имена хостов.
  • -K Отключает проверку целостности.

3. Фильтрация пакетов

Фильтры позволяют захватывать только нужный трафик:

  • Хосты host 192.168.1.1 - Захват трафика для определенного хоста.
  • Источник src 192.168.1.1 - Трафик, исходящий от хоста.
  • Назначение dst 192.168.1.1 - Трафик, направленный на хост.
  • Сеть net 192.168.1.0/24 - Трафик для указанной сети.
  • Порты port 80 или portrange 20-80 - Захват трафика для порта или диапазона.
  • Протоколы tcp, udp, icmp, arp, ip, ipv6, и др. - Фильтрация по протоколу.
  • Сложные условия src 192.168.1.1 and dst port 80 - Комбинация условий с and, or, not.

4. Примеры команд

Захват всего трафика на интерфейсе eth0:

tcpdump -i eth0

Фильтр HTTP-трафика:

tcpdump -i eth0 port 80

Захват и запись в файл:

tcpdump -i eth0 -w capture.pcap

Чтение файла pcap:

tcpdump -r capture.pcap

Захват ICMP-пакетов:

tcpdump -i eth0 icmp

Фильтрация трафика из подсети:

tcpdump net 192.168.1.0/24

Вывод в деталях (TCP/UDP):

tcpdump -vv tcp

Показ содержимого пакетов:

tcpdump -X port 80