在Linux下,使用dumpcap进行远程捕获需要遵循以下步骤:
确保远程主机和本地主机上都安装了Wireshark和dumpcap。如果没有安装,请访问Wireshark官方网站(https://www.wireshark.org/)下载并安装。
在远程主机上,使用root权限运行dumpcap,并指定-i参数来监听网络接口。例如,如果你想捕获名为eth0的网络接口上的数据包,你可以运行以下命令:
sudo dumpcap -i eth0 -w - | ssh user@local_host "sudo tcpdump -r -" 这里,-w -表示将捕获的数据包写入标准输出,然后通过SSH传输到本地主机。user@local_host是本地主机的用户名和地址。
在本地主机上,使用tcpdump接收远程主机发送的数据包,并将其保存到文件中。在上面的示例中,我们已经将数据包通过SSH传输到本地主机,并使用tcpdump读取标准输入(-r -)。
如果你想实时查看捕获的数据包,可以将tcpdump的输出重定向到Wireshark。例如:
sudo tcpdump -r - | wireshark -k -i - 这里,-k表示在捕获数据包时立即启动Wireshark,-i -表示从标准输入读取数据包。
port参数。例如,如果你想捕获远程主机上TCP端口80的数据包,可以运行以下命令:sudo tcpdump -r - -nn 'tcp port 80' | wireshark -k -i - 这样,你就可以在本地主机上使用Wireshark实时查看远程主机上的特定端口的数据包了。