上周帮客户查一个Web服务响应慢的问题,反复看日志都没头绪,最后用Wireshark抓了十分钟包,一眼就发现是DNS解析超时导致的——这事儿要是没个趁手的协议分析器,真得熬到凌晨三点。
为什么服务器维护离不开协议分析器
不是所有问题都写在日志里。TCP重传、SSL握手失败、UDP丢包、HTTP 302跳转链路异常……这些底层通信细节,光靠curl或telnet根本看不到。协议分析器就像给网络装上显微镜,把每个字节流摊开给你看。
主流免费工具怎么选
Wireshark:Windows/macOS/Linux全平台,界面直观,支持上千种协议解析,过滤语法也成熟(比如 tcp.port == 8080 and http)。新手建议从它开始。
Tcpdump:Linux服务器上轻量级首选,不占资源,适合后台持续抓包:
tcpdump -i eth0 port 443 -w /tmp/https.pcap -G 3600上面这行命令会每小时自动保存一个HTTPS流量文件,方便后续离线分析。Microsoft Message Analyzer(已停更,但旧版仍可稳定运行)和 CloudShark(在线分析.pcap文件)也常被老运维当备胎用。
下载注意这几点
别随便点百度前几条广告链接,有些捆绑了浏览器劫持插件。Wireshark官网是 https://www.wireshark.org,Tcpdump源码在 https://www.tcpdump.org;国内用户如果下载慢,可以去清华、中科大镜像站搜“wireshark”或“tcpdump”,更新及时且干净。
顺带提一句:Wireshark安装时默认勾选WinPcap/Npcap驱动,一定要留着——没它,连本机网卡都捕不到包。
一个小技巧:快速定位异常流量
在Wireshark里点顶部“Statistics → Conversations”,选TCP标签页,按“Bytes”倒序,排第一的那个IP:Port组合,十有八九就是当前最耗带宽或最频繁重传的源头。比翻几千行包快多了。
工具只是眼睛,关键是你愿不愿意低头看。下次服务器响应抖动、连接复位、证书报错,别急着重启服务,先抓个包——很多“疑难杂症”,其实三分钟就定位清楚了。