Назад | Перейти на главную страницу

TCPDUMP - захват пакетов по нескольким IP-адресам (фильтр)

Что мне нужно сделать (через tcpdump через Linux):

• Серверы приложений электронной коммерции: 192.168.1.2, 192.168.1.3, 192.168.1.4. - Это то, что я хочу запечатлеть на (отфильтровано по этим точным IP-адресам). Не диапазон IP-адресов (подсеть) или отдельный IP-адрес, а только несколько IP-адресов / серверов.

• В этом диапазоне есть и другие приложения, например Приложение PayRoll находится на 192.168.1.5, и я не хочу видеть этот трафик в моем захвате.

Я пробовал:

tcpdump 0 "/tmp" "host 192.168.1.2 or host 192.168.1.3 or host 192.168.1.4" 100000

а также:

tcpdump 0 "/tmp" "ip.host==192.168.1.2 or ip.host==192.168.1.3 or ip.host==192.168.1.4" 100000

Оба возвращают синтаксические ошибки.

Любая помощь очень ценится.

базовый синтаксис в вашем случае будет

tcpdump -i <interface to capture on> <filters>

В <filters> расширился бы до чего-то вроде

'(host 192.168.1.2 or host 192.168.1.3 or host 192.168.1.4) and (port 80 or port 443)'

если ваше приложение электронной коммерции будет использовать порты 80 и 443 для связи. Одиночные кавычки важны, иначе ваша оболочка может увидеть скобки (), которые важны для группировки параметров в качестве специальных символов.

добавление параметров -v и -n в начале (tcpdump -v -n -i ...) добавит подробности к выводу и отключит разрешение имен (ускоряет вывод)

tcpdump -vvv -enni <interface> host 192.168.1.2 or host 192.168.1.3 or host 192.168.1.4 and port XYX -s0 -w /var/tmp/yourfile.pcap