TCPDUMP - 捕获多个 IP 地址上的数据包(过滤器)

TCPDUMP - 捕获多个 IP 地址上的数据包(过滤器)

我需要做什么(通过Linux的“tcpdump”):

• 电子商务应用服务器:192.168.1.2、192.168.1.3、192.168.1.4。-这就是我想要捕捉的(根据这些确切的 IP 进行过滤)。不是 IP 范围(子网)或单个 IP 地址,只是几个 IP 地址/服务器。

• 此范围内还有其他应用程序,例如 PayRoll App 位于 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

两者都返回语法错误。

任何帮助深表感谢。

答案1

你的情况的基本语法是

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 进行通信。单引号很重要,否则您的 shell 可能会将括号 () 视为特殊字符,这对于将参数分组很重要。

在开头添加 -v 和 -n 参数 ( tcpdump -v -n -i ...) 将增加输出的详细程度并禁用名称解析(加快输出速度)

答案2

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

此过滤器仅捕获 192.168.1.4 的 XYX 端口以及其他主机的所有流量

相关内容