Просмотреть входящие соединения на интерфейс с адресом 192.168.20.8 на 21 порт (пакеты SYN)
Существуют расширенные возможности по фильтрации пакетов 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. И соответствующий фильтр будет выглядеть так:
Для перехвата пакетов только с флагами SYN и ACK (значения битовых позиций 2 и 16) можно использовать следующую конструкцию:
Кроме того, можно использовать опцию tcpflags.
Пакеты с любым флагом:
Пакеты, включающие SYN:
Программа tshark имеет следующие опции:
Полезные рецепты.
Получение рейтинга наиболее активных участников сетевого взаимодействия (top talkers):
Выявление аномалий TCP путем вычисления отношения числа исходящих пакетов с SYN флагом к числу входящих с SYN+ACK:
Хорошие примеры
http://odminblog.ru/usage-of-tcpdump/
http://alexr.me/index.php?option=com_content&view=article&id=67:tcpdump&catid=1:linux&Itemid=5
tcpdump -nn dst 192.168.20.8 and port 21 and "tcp[13] & 2 != 0"
Существуют расширенные возможности по фильтрации пакетов 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'
Программа tshark имеет следующие опции:
- -w <имя файла>: аналогично tcpdump;
- -a: прекращение записи в файл по удовлетворению заданного условия. Условие задается в виде test:value:
- duration:X — прекращение записи после X секунд;
- filesize:X — прекращение записи в файл после того как его размер превысит X килобайт.
- files:X — прекращение записи после достижения количества файлов X. Применяется в комбинации с первыми двумя условиями.
- -b: аналогично -a но запись не прекращается, а продолжается в новый файл. При этом его имя складывается из имени заданного в -w номера и даты. Если указывается параметр files, то запись производится циклически.
- -a и -b: эти опции могут применяться вместе, при этом циклическая запись в соответствии с опцией -b будет прекращена по условию заданному в -a.
- -b: аналогично -a но запись не прекращается, а продолжается в новый файл. При этом его имя складывается из имени заданного в -w номера и даты. Если указывается параметр files, то запись производится циклически.
- -a и -b: эти опции могут применяться вместе, при этом циклическая запись в соответствии с опцией -b будет прекращена по условию заданному в -a.
Полезные рецепты.
Получение рейтинга наиболее активных участников сетевого взаимодействия (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://odminblog.ru/usage-of-tcpdump/
http://alexr.me/index.php?option=com_content&view=article&id=67:tcpdump&catid=1:linux&Itemid=5
Комментариев нет:
Отправить комментарий