温馨提示×

如何用dumpcap测debian网络

小樊
44
2026-10-06 16:41:48
栏目: 智能运维

在 Debian 系统上,dumpcap 是 Wireshark 自带的命令行抓包工具,适合做底层网络抓包和性能采集。下面按“安装 → 权限 → 基本用法 → 常见场景 → 分析”给你一个实用指南。


一、安装 dumpcap(Debian)

sudo apt update
sudo apt install wireshark-common

安装过程中会问是否允许非 root 用户抓包,选 Yes 会更方便。

确认安装:

which dumpcap
dumpcap -v

二、权限配置(非常重要)

方法 1:直接用 root(最简单)

sudo dumpcap

方法 2:允许普通用户抓包(推荐)

sudo dpkg-reconfigure wireshark-common
# 选择 “Yes”
sudo usermod -aG wireshark $USER

然后 注销重新登录。

测试:

dumpcap -D

能列出网卡就说明权限 OK。


三、查看可用网卡

dumpcap -D

示例输出:

1. eth0
2. lo
3. wlan0

四、基本抓包命令

1️⃣ 抓取 eth0 所有流量

sudo dumpcap -i eth0 -w eth0.pcap

2️⃣ 限制抓包数量

dumpcap -i eth0 -c 100 -w test.pcap

3️⃣ 限制文件大小(防止撑爆磁盘)

dumpcap -i eth0 -C 10 -w eth0.pcap

每个文件 10 MB

4️⃣ 循环写多个文件

dumpcap -i eth0 -C 10 -W 5 -w rotate.pcap

最多 5 个文件循环


五、常见实用场景

✅ 抓某个 IP 的流量(配合 filter)

dumpcap 自身不支持显示过滤,但支持 BPF 抓包过滤:

dumpcap -i eth0 -f "host 192.168.1.100" -w ip.pcap

✅ 抓某个端口(如 80 / 443)

dumpcap -i eth0 -f "tcp port 443" -w https.pcap

✅ 只抓某个网段

dumpcap -i eth0 -f "net 10.0.0.0/24" -w lan.pcap

✅ 抓 ARP(排查网络异常)

dumpcap -i eth0 -f "arp" -w arp.pcap

六、后台运行 / 长时间抓包

nohup dumpcap -i eth0 -C 50 -W 10 -w /var/log/cap/long.pcap &

查看进程:

ps aux | grep dumpcap

停止:

sudo kill <PID>

七、分析抓包文件

用 tshark(命令行)

tshark -r eth0.pcap

用 Wireshark(图形)

wireshark eth0.pcap

八、调试 & 排错

抓不到包?

  • 确认网卡名正确(ip a)
  • 确认不是虚拟网卡(如 docker0)
  • 是否在容器里(需要 --privileged)

性能问题?

  • 用 -B 增大 buffer:
dumpcap -i eth0 -B 16 -w cap.pcap

九、典型排障案例

服务器偶发断网

dumpcap -i eth0 -f "icmp or arp" -C 20 -W 5 -w net_issue.pcap

Web 访问慢

dumpcap -i eth0 -f "tcp port 80 or tcp port 443" -w web.pcap

如果你愿意,可以告诉我:

  • Debian 版本(11 / 12?)
  • 物理机 / 虚拟机 / 容器
  • 想抓什么(HTTP、DNS、UDP、内网?)

我可以直接帮你写精确命令。

0 踩