Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Комментарий: Migrated to Confluence 5.3

Ключи

      • -i any : слушать все интерфейсы (проверка сетевых карт).
      • -n : не отображать имена хостов - только IP
      • -nn : не отображать имена хостов  и имена портов
      • -X : показывать содержимое пакетов в ASCII и HEX
      • -XX : аналогично -X, но отображает заголовок Ethernet
      • -v, -vv, -vvv : уровень verbose - увеличение числа отображаемой информации
      • -c : захватить первые c пакетов и остановиться
      • -s : size - указать длину пакета для захвата, первые s байт. "-s 0" - неограниченная длинна
      • -S : Sequence - отображать абсолютные числа последовательностей пакетов
      • -e : Захватывать Ethernet-заголовок
      • -q : Показывать меньше информации по протоколу
      • -E : Расшифровать IPSEC траффик с помощью ключа

Варианты использования

Блок кода
themeEmacs
languagebash
tcpdump -nS # базовый мониторинг
tcpdump -nnvvS # с подробностями по пакетам
tcpdump -nnvvXSs 1514 -c2 # самый подробный вариант, с захватом 1514 байт от каждого пакета (пакет целиком), захватить 2 пакета 

Фильтрация

Блок кода
themeEmacs
languagebash
tcpdump host 1.2.3.4 # захват траффика с одного IP
tcpdump src 2.3.4.5 # захват траффика, в котором указан IP источника
tcpdump dst 2.3.4.5 # захват траффика, в котором указан IP цели
tcpdump net 1.2.3.0/24 # захват траффика с указанной подсети
tcpdump proto icmp # захват траффика определенного протокола. Ключевое слово "proto" можно не писать
tcpdump port 3389 # захват траффика с определенного порта
tcpdump portrange 21-23 # захват траффика с набора портов
 
tcpdump less 32 # аналогично  tcpdump > 32 захват пакетов больше 32 байт
tcpdump greater 128 # аналогично tcpdump <= 128 захват пакетов меньше 128 байт

Комбинация фильтров

Блок кода
themeEmacs
languagebash
tcpdump src port 1025 and tcp
tcpdump udp and src port 53

Запись лога в файл

Для записи используется ключ -w, для чтения ключ -r:

Блок кода
themeEmacs
languagebash
tcpdump -s 1514 port 80 -w capture_file # запись целиковых пакетов с 80 порта
tcpdump -r capture_file # чтение с файла

Комбинации правил

Три варианта комбо: AND или &&, OR или ||, not или !

Блок кода
themeEmacs
languagebash
tcpdump -nnvvS and src 10.5.2.3 and dst port 3389 # захват пакетов с указанного IP и идущих на указанный порт
tcpdump
 -nvvXSs 1514 dst 192.168.0.2 and src net 172.16.0.0/16 and not icmp # 
захват пакетов с указанного IP и из сети, не ICMP протокола 

Группировка

Для группировки используются скобки, а для их распознавания в строке используются одинарные кавычки

Блок кода
themeEmacs
languagebash
tcpdump 'src 10.0.2.4 and (dst port 3389 or 22)' # захват пакетов с указанного IP, идущих на один из двух портов 

Захват пакетов по признаку

Unskilled Attackers Pester Real Security Folks

 

Unskilled = URG

Attackers = ACK

Pester = PSH

Real = RST

Security = SYN

Folks = FIN

 

U   A  P R S F

32 16 8 4 2 1

Блок кода
themeEmacs
languagebash
Показать все URGENT (URG) пакеты...
tcpdump 'tcp[13] & 32!=0'
 
Показать все ACKNOWLEDGE (ACK) пакеты...
tcpdump 'tcp[13] & 16!=0'
 
Показать все PUSH (PSH) пакеты...
tcpdump 'tcp[13] & 8!=0'
 
Показать все RESET (RST) пакеты...
tcpdump 'tcp[13] & 4!=0'
 
Показать все SYNCHRONIZE (SYN) пакеты...
tcpdump 'tcp[13] & 2!=0'
 
Показать все FINISH (FIN) пакеты...
tcpdump 'tcp[13] & 1!=0'
 
Показать все SYNCHRONIZE/ACKNOWLEDGE (SYNACK) пакеты...
tcpdump 'tcp[13]=18'