dumpcap 是 Wireshark 套件中的一个命令行工具,用于捕获网络流量。在 Ubuntu 上使用 dumpcap 时,你可以结合使用过滤器来捕获特定的网络流量。以下是如何在 Ubuntu 上使用 dumpcap 和过滤器的步骤:
安装 Wireshark: 如果你还没有安装 Wireshark,可以通过以下命令安装它,这将同时安装 dumpcap:
sudo apt update sudo apt install wireshark 运行 dumpcap: 你可以直接运行 dumpcap 来开始捕获流量。例如,要捕获所有接口上的流量,可以使用:
sudo dumpcap 使用过滤器: dumpcap 允许你在捕获时应用 BPF (Berkeley Packet Filter) 语法来指定过滤器。例如,如果你只想捕获 HTTP 流量,可以使用以下命令:
sudo dumpcap -i any 'tcp port 80' 这里 -i any 表示捕获所有接口上的流量,而 'tcp port 80' 是过滤器表达式,指定了只捕获目标或源端口为 80 的 TCP 流量。
将输出保存到文件: 你可以将捕获的流量保存到文件中,以便稍后分析。使用 -w 选项指定输出文件:
sudo dumpcap -i any -w output.pcap 'tcp port 80' 读取捕获的文件: 使用 Wireshark 图形界面工具打开 .pcap 文件,或者在命令行中使用 tshark(Wireshark 的另一个命令行工具)来分析文件:
tshark -r output.pcap 高级过滤: 你可以使用更复杂的过滤器表达式来捕获特定的流量。例如,如果你想捕获特定 IP 地址之间的通信,可以使用:
sudo dumpcap -i any 'ip.addr == 192.168.1.100' 或者捕获两个特定 IP 地址之间的通信:
sudo dumpcap -i any 'ip.src == 192.168.1.100 and ip.dst == 192.168.1.101' 请记住,使用 dumpcap 需要有足够的权限,通常需要 root 权限,因此大多数命令都需要在前面加上 sudo。
在使用过滤器时,请确保你的过滤器表达式是正确的,并且符合 BPF 语法。如果你不确定,可以先在 Wireshark 的图形界面中测试过滤器,然后再在 dumpcap 中使用相同的表达式。