Dumpcap抓包工具使用教程
小樊
41
2025-12-14 02:11:17
Dumpcap 抓包工具使用教程
一 简介与安装
- Dumpcap 是 Wireshark 套件的命令行抓包工具,专注于高性能数据包捕获,适合服务器、终端和自动化场景。
- 在 Debian/Ubuntu 上安装:
- Debian:sudo apt update && sudo apt install wireshark(包含 dumpcap)
- Ubuntu:sudo apt update && sudo apt install dumpcap
- 验证安装:dumpcap –version。
- 权限与组(推荐最小权限):
- 将用户加入 wireshark 组:sudo usermod -aG wireshark $USER,然后重新登录;或
- 赋予能力:sudo setcap ‘CAP_NET_RAW+eip CAP_NET_ADMIN+eip’ /usr/bin/dumpcap。
- 列出网卡:dumpcap -D(用于确认接口名,如 eth0、ens33、wlan0 或 Windows 的 \Device\NPF_…)。
二 快速上手与常用参数
- 基本捕获到文件:sudo dumpcap -i eth0 -w capture.pcap
- 捕获指定数量包:sudo dumpcap -i eth0 -c 100 -w capture.pcap
- 环形文件(按大小):sudo dumpcap -i eth0 -w cap.pcap -C 100 -W 5(每个文件 100 MB,最多 5 个)
- 环形文件(按时间):sudo dumpcap -i eth0 -G 600 -W bymin -w cap_%Y-%m-%d_%H-%M-%S.pcap(每 600 s 新建一个文件,自动命名)
- 捕获过滤器(BPF,内核层过滤,减少负载):sudo dumpcap -i eth0 -f “tcp port 80” -w http.pcap
- 显示过滤器(捕获后过滤,语法与 Wireshark 显示过滤相同):sudo dumpcap -i eth0 -Y “http” -w http.pcap
- 快照长度(snaplen):sudo dumpcap -i eth0 -s 65535 -w full.pcap(尽量抓全帧)
- 混杂模式:默认开启;如不需要可用 -p 关闭。
- 实时查看简要信息:sudo dumpcap -i eth0 -l。
- 读取本地/远程捕获文件:dumpcap -r capture.pcap;远程文件需先获取至本地再用 -r 打开。
三 实用命令模板
- 抓取 HTTP 流量并自动分文件(每 10 分钟,保留最近 5 个):
sudo dumpcap -i eth0 -f “tcp port 80” -G 600 -W http_ring -C 100 -w http_%Y-%m-%d_%H-%M-%S.pcap
- 抓取某主机的 443 端口并保存为单个文件:
sudo dumpcap -i eth0 -f “host 192.168.1.10 and tcp port 443” -w host443.pcap
- 抓取全量并保存到标准输出(适合管道给其它工具):
sudo dumpcap -i eth0 -w - | your_analysis_tool
- 抓取后离线分析(用 tshark 提取 HTTP 关键字段):
tshark -r capture.pcap -Y “http” -T fields -e frame.number -e ip.src -e ip.dst -e http.host -e http.request.method -e http.request.uri
- 高流量接口建议:增大环形文件数、合理设置 -C/-G、必要时提高内核环形缓冲(如 -B 选项,单位字节)。
四 过滤表达式速查
- 仅 TCP:tcp
- 某端口:port 80 或 tcp port 80
- 某主机:host 192.168.1.100
- 某网段:net 192.168.1.0/24
- 源/目的限定:src host 1.1.1.1;dst host 2.2.2.2
- 组合条件:tcp port 80 and host example.com;not icmp
- 显示过滤(捕获时不生效,供 Wireshark/tshark 显示用):http、dns、tls.handshake 等。
- 提示:捕获过滤器用 -f(BPF,减少捕获量、提升性能);显示过滤器用 -Y(仅影响显示/后续分析)。
五 常见问题与最佳实践
- 权限不足:优先将用户加入 wireshark 组或使用 setcap 赋权,避免长期以 root 运行。
- 接口名错误:先用 dumpcap -D 确认接口名;虚拟机/云主机注意选择 eth0/ens/wlan0* 或虚拟网卡。
- 文件过大/磁盘占满:使用 -C/-G 做环形保存,并预估磁盘与 I/O。
- 丢包与性能:在高带宽环境增大环形缓冲(如 -B)、尽量使用 -f 做捕获过滤、减少不必要字段(必要时再增大 -s)。
- 合规与隐私:抓包可能包含敏感信息,请在合法授权范围内使用,并妥善保管捕获文件。
- 分析建议:长时间抓包建议先按时间/大小切片,再用 Wireshark/tshark 做深度分析。