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

9

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

• Серверы приложений ECommerce: 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 -D Это выведет список всех интерфейсов, если вы не уверены, на каком интерфейсе захватывать трафик. Исходя из того, что вы пробовали, кажется, что 0 может скинуть его. Также "/ tmp" и "" при перечислении хостов. Вам не нужно "" перечислять хосты, но вам нужно указать интерфейс перед каталогами или опциями.
инжектор

Ответы:

15

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

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 ...) добавит многословность к выводу и отключит разрешение имен (ускоряет вывод)

заместитель Wabbit
источник
-1

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

марин
источник