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
中使用相同的表达式。