Утилита для захвата и анализа пакетов tcpdump

tcpdump — утилита, позволяющая перехватывать и анализировать сетевой трафик.

Выполнять нужно с root правами, в Ubuntu для этого можно перед каждой командой дописывать команду «sudo» либо сразу переключится на root пользователя:

sudo -i

Приведу ниже примеры запуска tcpdump.
Запуск с указанием сетевого интерфейса:

tcpdump -i eth0
/usr/sbin/tcpdump -i eth0

Отображение статистики только для указанных адресов или исключая адреса:

tcpdump host АДРЕС
tcpdump host АДРЕС and АДРЕС
tcpdump host АДРЕС or АДРЕС
tcpdump not host АДРЕС
tcpdump ether host e0:cb:4e:c3:7c:44

С указанием порта:

tcpdump port 80

С указанием типа arp/rarp/ip/tcp/udp/icmp/wlan/multicast/broadcast, напрмер:

tcpdump arp
tcpdump arp and broadcast
tcpdump -i eth0 icmp

ARP запросы:

tcpdump -n -i eth0 -e arp

Запись результата в файл (потом в файле можно изменить адрес отправителя утилитой «tcprewrite» и воспроизвести файл через «tcpreplay»):

tcpdump -w "/home/user/tcpdump/"`date "+%Y-%m-%d-%H-%M"`-http.pcap

С указанием VLAN:

tcpdump vlan 100

DHCP:

tcpdump -n -i ens2f1 port 67 and port 68 -vvvv
tcpdump -n -e -i ens2f1 port 67 and port 68 and ether host 14:da:e9:33:c4:c9 -vvvv
tcpdump port 67 or port 68 -e -n
tcpdump -i eth0 '((port 67 or port 68) and (udp[8:1] = 0x1))' -vvv -s 1500 | grep 00:00:12:00:12:45

FreeRadius:

tcpdump -i eth0 port 1812 or port 1813 or port 3799
tcpdump -i eth0 port 1812 or port 1813 or port 3799 | grep 'Access-Request (1)'

Прочие примеры:

tcpdump -s 1500 -c 30000 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

Опишу возможные ключи запуска:
-a Преобразование сетевых и широковещательных адресов в доменные имена.
-i Интерфейс который будет слушаться.
-c Завершение работы после указанного количества пакетов.
-v, -vv, -vvv Вывод более подробной информации.
-q Тихий режим, выводится краткая информация.
-t Не отображает метку времени в каждой строке.
-tttt Отображение времени вместе с датой.
-n Не разрешать доменные имена хостов.
-nn Отображение номера порта вместо используемого им протокола.
-N Разрешать доменные имена хостов.
-e Отображать данные канального уровня (MAC-адрес, протокол, длина пакета).
-w Запись информации в двоичном формате в файл. Файл потом можно будет открыть через программы анализа, например Wireshark.
-r Параметр позволяет прочитать трафик из файла.
-s Количество байтов пакета, которые будет обрабатывать tcpdump.
-x Отображение пакетов в шестнадцатеричной системе.

Оставьте комментарий

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