Как пользоваться tcpdump

Установка на debian семейство:

sudo apt install tcpdump

Команда имеет синтаксис:

$ tcpdump опции -i интерфейс фильтры

Рассмотрим основные опции:

  • -A — выводить все пакеты в формате ASCII;
  • -c — закрыть программу после перехвата n-ого количества пакетов;
  • -C — при записи пакетов в файл, проверять размер файла, и если он больше заданного — создать новый файл;
  • -D — вывести список доступных сетевых интерфейсов;
  • -e — выводить информацию уровня соединения для каждого пакета, это может быть полезно, например, для отображения MAC адреса;
  • -f — выводить доменное имя для ip адресов;
  • -F — читать пакеты из файла, а не интерфейса;
  • -G — создавать новый файл лога через указанный промежуток времени;
  • -H — обнаруживать заголовки 802.11s;
  • -i — имя интерфейса для перехвата пакетов. Вы можете захватывать пакеты со всех интерфейсов, для этого укажите any;
  • -I — переключить интерфейс в режим монитора для захвата всех проходящих пакетов;
  • -j — установить формат Timestamp для записи пакетов;
  • -J — посмотреть доступные Timestamp;
  • -K — не проверять контрольные суммы пакетов;
  • -l — добавить поддержку прокрутки к выводу;
  • -L — вывести поддерживаемые протоколы подключения для интерфейса;
  • -n — не отображать доменные имена;
  • -r — прочитать пакеты из файла, созданного с помощью -w;
  • -v, -vv, -vvv — более подробный вывод;
  • -q — выводить минимум информации;
  • -w — записать вывод в файл;
  • -Z — пользователь, от имени которого будут создаваться файлы.

 

Перед тем как перейти к использованию tcpdump нужно посмотреть какие сетевые интерфейсы вы можете использовать. Для этого запустите команду с опцией -D:

sudo tcpdump -D

Далее для подробного вывода воспользуемся ключом -v или для более подробного -vv

sudo tcpdump -v -i eth0

После опций  можно указывать фильтры для пакетов. Вот основные параметры, по которым можно отсеивать пакеты:

  • host — имя хоста;
  • ip — ip адрес;
  • proto — протокол;
  • net — адрес сети или подсети;
  • port — адрес порта;
  • src — параметр, касающийся отправителя;
  • dst — параметр, касающейся получателя;
  • Доступны такие протоколы: ether, fddi, tr, wlan, ip, ip6, arp, rarp, decnet, tcp и udp.

 

Фильтры можно комбинировать с помощью операторов:

  • AND
  • OR
  • NOT

sudo tcpdump -i eth0 dst host 192.168.0.1 and src host 192.19.0.1