如何用Debian Dumpcap进行网络故障排查
导读:用 Dumpcap 在 Debian 上进行网络故障排查 一 安装与权限配置 安装:在 Debian 上安装包含 Dumpcap 的 Wireshark 包即可使用命令行捕获能力。 命令:sudo apt update &&am...
用 Dumpcap 在 Debian 上进行网络故障排查
一 安装与权限配置
- 安装:在 Debian 上安装包含 Dumpcap 的 Wireshark 包即可使用命令行捕获能力。
- 命令:
sudo apt update & & sudo apt install wireshark
- 命令:
- 权限与安全:
- 推荐为普通用户授予最小能力集:
sudo setcap 'cap_net_raw,cap_net_admin=eip' /usr/bin/dumpcap - 或配置 sudo 免密:
your_username ALL=(root) NOPASSWD: /usr/bin/dumpcap - 注意:授予能力会提升本地权限,仅在可信环境使用。
- 推荐为普通用户授予最小能力集:
二 快速定位流程
- 列出接口:
dumpcap -D(确认要抓的网卡名称,如 eth0、wlan0、lo) - 小规模样本抓包(先确认链路与应用是否通):
- 示例:
dumpcap -i eth0 -c 200 -w sample.pcap
- 示例:
- 带过滤的精准抓包(减少无关流量):
- 仅某主机:
dumpcap -i eth0 -f "host 192.168.1.100" -w host100.pcap - 仅某端口:
dumpcap -i eth0 -f "tcp port 80 or udp port 53" -w http_dns.pcap
- 仅某主机:
- 环形文件避免磁盘打满(长时间抓包):
- 示例:
dumpcap -i eth0 -w trace.pcapng -a filesize:100 -a files:10
- 示例:
- 停止与回看:按 Ctrl+C 停止;用 Wireshark 打开生成的 .pcap/.pcapng 文件进行分析。
三 常用命令模板
| 目标 | 命令示例 | 说明 |
|---|---|---|
| 列出接口 | dumpcap -D |
找到正确的网卡名 |
| 抓取全部 | dumpcap -i any -w all.pcap |
跨所有接口抓包 |
| 抓取指定接口 | dumpcap -i eth0 -w eth0.pcap |
聚焦问题网卡 |
| 抓取一定数量 | dumpcap -i eth0 -c 500 -w 500.pcap |
快速样本 |
| 环形文件 | dumpcap -i eth0 -w ring.pcapng -a filesize:50 -a files:5 |
每 50MB 一个文件,最多 5 个 |
| 捕获过滤器 | dumpcap -i eth0 -f "tcp port 443" -w https.pcap |
仅抓取 443/TCP |
| 捕获过滤器 | dumpcap -i eth0 -f "icmp" -w icmp.pcap |
仅抓取 ICMP |
| 捕获过滤器 | dumpcap -i eth0 -f "host 10.0.0.5 and port 22" -w ssh.pcap |
主机 10.0.0.5 的 22/TCP |
| 显示链路层 | dumpcap -i eth0 -e -w ll.pcap |
保留 以太网头 |
| 快照长度 | dumpcap -i eth0 -s 0 -w full.pcap |
snaplen=0 抓全帧 |
| 查看版本 | dumpcap --version |
确认工具可用 |
说明:捕获过滤器使用 BPF 语法,放在 -f 之后;环形文件通过 -a filesize:N 与 -a files:M 控制。 |
四 故障排查要点
- 链路与连通性:先用
ping验证端到端可达,再用dumpcap -f "icmp"抓取 ICMP 报文,观察 超时/目标不可达 等类型与频率。 - 端口与服务:对可疑服务用
dumpcap -f "tcp port < 端口> "抓包,结合 Wireshark 查看 SYN/SYN-ACK/ACK 三次握手是否建立,是否出现 RST/重传。 - DNS 解析问题:用
dumpcap -f "udp port 53 or tcp port 53"抓取 DNS,检查查询/响应是否成对、响应码是否为 NOERROR、是否存在 SERVFAIL。 - HTTP/HTTPS:对 HTTP 用
dumpcap -f "tcp port 80"观察 GET/POST 与 HTTP 状态码;对 HTTPS 可先抓 TCP 443 观察握手与重传,必要时配合应用层日志。 - 丢包与重传:在 Wireshark 中统计 TCP 重传、重复 ACK、零窗口 等指标,定位链路拥塞或接收端处理瓶颈。
五 常见问题与排错
- 权限被拒:未用 sudo 或未授予能力;执行
sudo dumpcap或设置cap_net_raw,cap_net_admin能力后再试。 - 接口不存在或名称变化:先运行
dumpcap -D确认当前网卡名,再替换命令中的接口。 - 磁盘写满或文件过大:启用环形文件(
-a filesize:与-a files:),或限制抓包时长/数量。 - 抓不到预期流量:检查 BPF 捕获过滤器 是否过严,先用更宽的条件(如仅按协议或端口)验证,再逐步收敛。
- 性能与丢包:适当增大内核/驱动缓冲区(若工具支持)、减少不必要过滤、缩短单文件时长,必要时分流到高性能存储。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何用Debian Dumpcap进行网络故障排查
本文地址: https://pptw.com/jishu/786381.html
