Что мне нужно сделать (через 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