在 Debian 系统中使用 dumpcap 抓包,一般步骤如下(包含安装、权限、基本用法和常见示例)。
dumpcap 属于 Wireshark 套件,通常这样安装:
sudo apt update
sudo apt install wireshark-common
安装过程中会询问:
Should non-superusers be able to capture packets?
安装完成后,dumpcap 一般在:
/usr/bin/dumpcap
将当前用户加入 wireshark 组:
sudo usermod -aG wireshark $USER
然后 重新登录或重启,使组生效。
验证:
groups
看到 wireshark 即可。
sudo dumpcap
dumpcap -D
输出示例:
1. eth0
2. wlan0
3. lo
dumpcap -i eth0
默认输出到:
/tmp/wireshark_xxx.pcapng
dumpcap -i eth0 -w capture.pcapng
抓 100 个包后停止:
dumpcap -i eth0 -c 100 -w test.pcap
每个文件最大 10MB:
dumpcap -i eth0 -w test.pcap -b filesize:10240
最多保存 5 个文件,循环覆盖:
dumpcap -i eth0 -w test.pcap -b files:5
dumpcap 本身不支持 BPF 过滤语法,但可以通过 -f 使用 pcap 过滤:
dumpcap -i eth0 -w web.pcap -f "tcp port 80"
dumpcap -i eth0 -w host.pcap -f "host 192.168.1.10"
dumpcap -i eth0 -p -w capture.pcap
-p表示 关闭 混杂模式(默认是开启的)
| 工具 | 用途 |
|---|---|
| dumpcap | 高性能抓包(Wireshark 底层) |
| tcpdump | 命令行抓包 + 显示 |
| tshark | Wireshark 命令行版(可分析) |
Couldn't run /usr/bin/dumpcap in child process: Permission denied
✅ 解决:
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
或加入 wireshark 组(推荐)
ip a# 抓 eth0,保存 100 个包
dumpcap -i eth0 -c 100 -w eth0.pcap
# 抓 HTTP 流量
dumpcap -i eth0 -w http.pcap -f "tcp port 80"
# 循环保存 5 个 10MB 文件
dumpcap -i eth0 -w cap.pcap -b filesize:10240 -b files:5
如果你需要:
可以继续问我。