Ubuntu下dumpcap与Wireshark的配合使用指南
在Ubuntu系统中,dumpcap是Wireshark套件的核心命令行工具,通常随Wireshark一起安装。若未安装,可通过以下命令同步安装两者:
sudo apt update
sudo apt install wireshark
安装完成后,需解决dumpcap的权限问题(详见下文“权限配置”部分)。
dumpcap捕获网络流量需要访问底层网络接口的权限,默认需root权限运行。为避免每次使用sudo
,推荐以下两种方法:
wireshark
组(推荐)wireshark
组,然后重新登录使权限生效:sudo adduser $USER wireshark
setcap
命令赋予dumpcap捕获权限:sudo setcap cap_net_raw,cap_net_admin=eip /usr/sbin/dumpcap
此方法无需root即可运行dumpcap,但需谨慎使用。dumpcap的基本命令格式为:
dumpcap -i <接口> [选项] -w <输出文件>
常用参数说明:
-i <接口>
:指定捕获接口(如eth0
、wlan0
或any
监听所有接口);-w <文件>
:将捕获数据保存为.pcap
(默认)或.pcapng
格式(如-P
参数);-c <数量>
:捕获指定数量的数据包后停止(如-c 1000
捕获1000个包);-s <大小>
:设置每个数据包的捕获大小(-s 0
表示捕获完整数据包,避免截断)。示例命令:
捕获eth0
接口的所有流量,保存为capture.pcap
:
sudo dumpcap -i eth0 -w capture.pcap
捕获wlan0
接口的HTTP流量(过滤tcp port 80
),保存为http.pcap
并限制1000个包:
sudo dumpcap -i wlan0 -f "tcp port 80" -c 1000 -w http.pcap
注意:捕获过滤器语法与Wireshark的显示过滤器不同(如tcp port 80
是捕获过滤器,http
是显示过滤器)。
捕获完成后,可通过Wireshark的图形界面进行详细分析:
.pcap
或.pcapng
文件;http
过滤HTTP流量、ip.addr == 192.168.1.100
过滤特定IP的流量),按回车键应用;若需实时查看捕获的流量,可通过管道将dumpcap的输出传递给Wireshark:
sudo dumpcap -i eth0 -w - | wireshark -k -i -
-w -
:将捕获的数据包输出到标准输出(stdout);wireshark -k -i -
:-k
表示立即开始捕获,-i -
表示从标准输入读取数据。eth0
的流量到file1.pcap
和file2.pcap
):dumpcap -i eth0 -nn -s 0 -w file1.pcap &
dumpcap -i eth0 -nn -s 0 -w file2.pcap &
-b
参数按大小或时间分割捕获文件(如每100MB保存为一个文件):dumpcap -i eth0 -w output.pcap -b filesize:100
分割后的文件会自动命名为output.pcap1
、output.pcap2
等。通过以上步骤,可实现dumpcap与Wireshark的高效配合:dumpcap负责快速捕获网络流量(节省系统资源),Wireshark负责图形化分析与深度排查,满足不同场景下的网络监控需求。