怎样用dumpcap进行网络故障排查
导读:用 Dumpcap 进行网络故障排查的实操指南 一、快速准备 安装与版本确认:在 Debian/Ubuntu 执行 sudo apt update && sudo apt install wireshark dumpcap...
用 Dumpcap 进行网络故障排查的实操指南
一、快速准备
- 安装与版本确认:在 Debian/Ubuntu 执行
sudo apt update & & sudo apt install wireshark dumpcap;在 CentOS/RHEL 执行sudo yum install wireshark(Dumpcap 随 Wireshark 提供)。完成后用dumpcap --version验证。 - 权限与安全:抓包通常需要特权。推荐做法是为普通用户授予能力:
sudo setcap 'cap_net_raw,cap_net_admin+eip' /usr/bin/dumpcap;或创建 wireshark 组并将用户加入后调整二进制权限(更利于多人运维环境)。 - 接口与连通性:用
ip addr或ip link确认目标接口名(如 eth0、ens33、wlan0),并确保有读写目标目录的权限。
二、通用排查流程
- 明确现象与目标:例如 丢包、延迟高、连接超时、DNS 解析失败、HTTP 5xx 等,并据此确定抓包范围(单接口/多接口、客户端/服务端、内网/外网)。
- 选择捕获点:尽量在问题路径的近端和远端同时抓包(如客户端与服务器、网关两侧),便于对比。
- 启动抓包:优先使用合适的捕获过滤器(BPF)减少噪声,并限制文件大小/数量便于事后分析。
- 复现问题:在抓包进行时重现故障(访问业务、跑测试流量等)。
- 停止与保存:按 Ctrl+C 停止,保留 .pcap 文件。
- 分析定位:用 Wireshark/tshark 打开文件,结合显示过滤器聚焦异常流,查看重传、丢包、握手失败、ICMP 报错、DNS 响应异常等迹象。
- 处置与验证:依据分析结果调整配置/设备/路由/应用,再次抓包验证问题是否消除。
三、常见故障的抓包命令示例
| 故障场景 | 抓包命令示例 | 关键观察点 |
|---|---|---|
| 丢包或重传高 | sudo dumpcap -i eth0 -f "tcp" -w tcp.pcap |
TCP 重传(如 tcp.analysis.retransmission)、重复 ACK、窗口满 |
| 连接超时/握手失败 | sudo dumpcap -i eth0 -f "tcp port 443 or tcp port 80" -w handshake.pcap |
TCP 三次握手是否完成、是否有 RST、TLS 握手失败 |
| 高延迟/卡顿 | sudo dumpcap -i eth0 -f "tcp or icmp" -w latency.pcap |
请求与响应的时延、ICMP 超时/目的不可达 |
| DNS 解析慢/失败 | sudo dumpcap -i eth0 -f "udp port 53 or tcp port 53" -w dns.pcap |
响应时间、SERVFAIL/REFUSED、截断响应(TC) |
| 仅观察不落盘 | `sudo dumpcap -i eth0 -w - | tcpdump -r -` |
| 多文件循环写入 | sudo dumpcap -i eth0 -w trace.pcap -a filesize:100000 -a files:10 |
自动按大小滚动,避免磁盘被占满 |
说明:
- 捕获过滤器使用 BPF 语法(如
tcp port 80、udp port 53、icmp、host 192.168.1.10)。 - 显示过滤器在 Wireshark 中使用(如
http、tcp.port==443、icmp),用于聚焦分析。
四、性能与稳定性建议
- 提升缓冲区:用
-B 1048576(单位字节)增大内核环形缓冲,减少高负载丢包。 - 控制文件大小与数量:用
-a filesize:< 字节> -a files:< 数量>实现循环写入,便于长时间抓包。 - 精准过滤:在抓包阶段用 BPF 过滤无关流量,降低 CPU/磁盘压力。
- 权限最小化:优先用 setcap 或 wireshark 组 方案,避免长期以 root 运行。
- 隐私与合规:抓包可能包含敏感数据,务必在合法授权范围内操作,妥善保存与清理数据。
五、分析要点与定位思路
- TCP 异常:大量 重传/重复 ACK/零窗口 常见于链路拥塞、服务器过载或中间设备限速。
- 握手与 TLS:三次握手未完成或 RST 频发,检查服务端口、ACL、SNAT/端口映射、TLS 证书与协商参数。
- DNS 问题:响应延迟高、返回 SERVFAIL/REFUSED、大量 NXDOMAIN,排查上游 DNS、解析链路与域名配置。
- ICMP 报文:Destination unreachable/Time exceeded 可指示路由环路、黑洞或防火墙拦截。
- 建议流程:先用显示过滤器聚焦问题流,再查看会话统计与 IO 图,最后回到具体数据包细节定位根因。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样用dumpcap进行网络故障排查
本文地址: https://pptw.com/jishu/756088.html
