Документация по ОС FreeBSD Четверг, 05.12.2024, 04:39
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Apache [58]
DNS [25]
FTP [27]
Mail [74]
Samba [24]
Squid [46]
SSH [23]
VPN [35]
РРР [20]
Net [173]

Главная » Статьи » Сеть » Net

Анализ сетевого трафика с помощью Tcpdump [2011]
Одной из самых распространенных программ для перехвата и анализа сетевого трафика является tcpdump [1]. Приведем примеры ее применения. 

1. Опции захвата трафика. 

В простейшем случае достаточно указать интерфейс для анализа трафика: 

tcpdump -i INTERFACE 

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

tcpdump -n 

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

tcpdump -c PACKET_COUNT 

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

tcpdump -w FILE_NAME 

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

tcpdump -r FILE_NAME 

Отметим, что для воспроизведения записанного файла в сеть можно использовать отдельную утилиту tcpreplay (не входящую в комплект tcpdump): 

tcpreplay FILE_NAME 

Вывод данных канального уровня (например, mac адреса и прочее): 

tcpdump -e 

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

tcpdump -v 

Увеличение размера захватываемых пакетов (больше 68 байт по умолчанию): 

tcpdump -s SNAP_LEN 

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 

Просмотр фреймов 802.1Q можно осуществить следующими способами (на интерфейсе с виланами): 

tcpdump -i INTERFACE vlan 

Примеры: 

# tcpdump -n -e -i fxp0 vlan
# tcpdump -n -e -i fxp0 vlan 100
# tcpdump -n -e -i fxp0 ether proto 0x8100 

Фильтрация по 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 

Фильтрация по размеру пакетов: 

tcpdump { less | greater } PACKET_SIZE 

Существуют расширенные возможности по фильтрации пакетов TCP с флагами. Заголовок TCP пакета состоит из 20 октетов. Поле битов управления (флагов) TCP содержится в октете номер 13. Соответственно под флаги отводятся следующие битовые позиции в 13 байте (по возрастанию степени 2): FIN (1), SYN(2), RST(4), PSH(8), ACK(16), URG(32), ECE(64), CWR(128). 

Таким образом, например, для пакетов только с флагом SYN октет номер 13 заголовка TCP должен содержать значение 2. И соответствующий фильтр будет выглядеть так: 

# tcpdump -n -i em0 'tcp[13] == 2' 

Для перехвата пакетов только с флагами SYN и ACK (значения битовых позиций 2 и 16) можно использовать следующую конструкцию: 

# tcpdump -n -i em0 'tcp[13] == 18' 

Кроме того, можно использовать опцию tcpflags. 

Пакеты с любым флагом: 

# tcpdump -n -i em0 'tcp[tcpflags] != 0' 

Пакеты, включающие SYN: 

# tcpdump -n -i em0 'tcp[tcpflags] & tcp-syn != 0' 

Для того, чтобы анализировать передаваемые данные по протоколу TCP, можно использовать tcpflow: 

# tcpflow -c -i ep0 host 195.12.69.199 and port 80 

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}'` 

RATIO=$(echo "scale=3; $SYN_ACK_TO_ISP/$SYN_ONLY_FROM_ISP" | bc) 


Источник: http://storm.in.ua/article/2/analiz-setevogo-trafika-s-pomoschyu-Tcpdump/
Категория: Net | Добавил: oleg (24.06.2011) | Автор: Andriy Karashchuk
Просмотров: 1159 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024