一、安装Dumpcap
Dumpcap是Wireshark的命令行数据包捕获工具,通常随Wireshark一起安装。在Ubuntu中,可通过以下命令安装:
sudo apt update sudo apt install wireshark
安装过程中会提示是否允许非root用户捕获数据包,选择“是”即可(后续需将用户加入wireshark
组以解决权限问题)。
二、配置用户权限
普通用户默认无权限使用Dumpcap捕获数据包,需通过以下步骤赋予权限:
wireshark
组:sudo usermod -aG wireshark $USER
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
三、捕获网络流量
使用Dumpcap捕获流量的基本命令格式为:
sudo dumpcap -i <interface> -w <output_file>
-i
:指定网络接口(如eth0
、wlan0
或any
捕获所有接口);-w
:指定保存捕获数据的文件名(如capture.pcap
)。常用扩展命令:
sudo dumpcap -c 100 -i eth0 -w limited.pcap
;sudo dumpcap -i any -w /tmp/capture-%m-%d-%H-%M-%S.pcap -G 60 -W 10
;sudo dumpcap -i eth0 -w /tmp/capture.pcap -C 10 -W 5
。四、过滤数据包
通过过滤条件缩小捕获范围,提升分析效率。Dumpcap支持BPF(Berkeley Packet Filter)语法,分为捕获过滤器(捕获时过滤)和显示过滤器(Wireshark中分析时过滤):
sudo dumpcap -i eth0 -w tcp_only.pcap 'tcp'
;sudo dumpcap -i eth0 -w http.pcap 'tcp port 80'
;sudo dumpcap -i eth0 -w ip.pcap 'host 192.168.1.100'
。.pcap
文件后使用): http.response.code == 404
;ip.addr == 192.168.1.100
;icmp
。五、分析捕获的数据包
捕获完成后,使用Wireshark打开.pcap
文件进行详细分析:
wireshark /path/to/capture.pcap
常用分析方法:
tcp.analysis.retransmission
查看TCP重传包,udp.port == 53
查看DNS流量);六、常见故障排查场景
sudo dumpcap -i any -w outage.pcap
),分析是否有大量ICMP Destination Unreachable
(目标不可达)或TCP RST
(连接重置)包;ip addr
),确认接口是否启用(UP
标志)。tcp.analysis.lost_segment
过滤,查看是否有TCP丢包;tcp.analysis.delayed_ack
或tcp.analysis.retransmission
过滤,查看是否有延迟确认或重传;ip.addr != 192.168.1.0/24
过滤,查看是否有外部非法IP的流量;tcp.port != 22
),识别潜在攻击。七、常见问题解决
wireshark
组(groups $USER
),或重新设置文件能力(sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
)。ip addr
命令确认接口名称(如eth0
可能被替换为enp0s3
),避免拼写错误。-c
限制包数量,-C
限制文件大小),防止内存或磁盘耗尽。