FreeBSD

Tcpdump примеры

Tcpdump (от TCP и англ. dump — свалка, сбрасывать) — утилита UNIX (есть клон для Windows), позволяющая перехватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа.

Для выполнения программы требуется наличие прав суперпользователя и прямой доступ к устройству (так, например, запуск из Jail во FreeBSD невозможен).

1. Опции захвата трафика. В простейшем случае достаточно указать интерфейс для анализа трафика:

tcpdump –i INTERFACE

Можно отключить преобразования IP адресов в доменные имена:

tcpdump -n

Ограничение числа перехватываемых пакетов:

tcpdump –c PACKET_COUNT

Запись в файл:

tcpdump -w FILE_NAME

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

tcpdump -r FILE_NAME

Вывод дополнительной информации (например, TTL, опции IP):

tcpdump -v

2. Опции фильтрации трафика. Можно осуществлять фильтрацию на канальном уровне. Для выделения Ethernet фреймов используются следующие конструкции:

tcpdump ether { src | dst | host } MAC_ADDRESS

tcpdump ether { broadcast | multicast } Примеры:

# tcpdump -n -i vlan0 ether src 0:2:b3:d8:d8:2c
# tcpdump -n -e -i vlan0 ether broadcast

Фильтрация по IP протоколу:

tcpdump { arp | rarp | ip | tcp | udp | icmp | wlan | multicast | broadcast }

Примеры:

# tcpdump -n -i fxp0 ip
# tcpdump -n -i fxp0 tcp
# tcpdump -n -i fxp0 udp

Фильтрация по IP адресам:

tcpdump { src | dst } { net | host | port }

Примеры:

# tcpdump -n -i fxp0 src 195.12.66.1
# tcpdump -n -i fxp0 dst 195.12.66.65
# tcpdump -n -i fxp0 host 195.12.66.1
# tcpdump -n -i fxp0 port 25
# tcpdump -n -i fxp0 dst 195.12.66.1 and port 53

3. Получение рейтинга наиболее активных участников сетевого взаимодействия (top talkers):

# tcpdump -tn -c 10000 -i fxp0 tcp or udp | awk -F "." '{print $1"."$2"."$3"."$4}' |  sort | uniq -c | sort -nr | awk '$1 > 100'

Выявление аномалий TCP путем вычисления отношения числа исходящих пакетов с SYN флагом к числу входящих с SYN+ACK:

SYN_ONLY_FROM_ISP=`tcpdump -n -l -r $1 'src net 192.168.0.0/24' and  'dst net not 192.168.0.0/24' and 'tcp[13] == 2' | wc | awk '{print $1}'`
SYN_ACK_TO_ISP=`tcpdump -n -l -r $1 'src net not 192.168.0.0/24' and  'dst net 192.168.0.0/24' and 'tcp[13] == 18' | wc | awk '{print $1}'`

Полная запись трафика:

tcpdump -i nfe0 -p -A -s 0 dst port 110 and src host 1.2.3.4

Насколько полезным был этот пост?

Нажмите на звезду, чтобы оценить!

Средний рейтинг 0 / 5. Голосов: 0

Пока оценок нет! Будьте первым, поставь свою оценку этому посту.

Мы сожалеем, что этот пост не был полезен для вас!

Давайте улучшим этот пост!

Расскажите, как мы можем улучшить этот пост?

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Back to top button