知用网
白蓝主题五 · 清爽阅读
首页  > 网络运维

网络流量抓包工具实战入门:排查问题不再靠猜

公司内网突然变慢,员工抱怨访问网站卡顿,领导急着要结果。你打开电脑,总不能说是“感觉”哪里出问题了吧?这时候,网络流量工具就是你的“听诊器”,能让你看清数据包是怎么走的、卡在哪儿、被谁拦了。

抓包是啥?说白了就是“偷看”网络对话

每一台设备上网,其实都在和其他设备“聊天”。比如你打开网页,浏览器会向服务器说“把首页给我”,服务器回“给你,拿好”。这些对话内容,就是网络流量。抓包工具能把你局域网里这些“对话”一条条录下来,逐条分析。

Wireshark:最常用的桌面抓包利器

提到抓包,绕不开 Wireshark。界面虽然看着复杂,但用熟了就像查日志一样自然。安装后打开,选中正在上网的网卡,点开始,马上就能看到满屏的数据包。

刚打开时一堆花花绿绿的包,别慌。先过滤。比如你想看访问百度的流量,直接在过滤栏输入:

http.host contains "baidu.com"

瞬间就干净了。或者只看 DNS 请求:

dns

有一次我们内网打印机突然连不上,Ping 不通,但交换机灯还亮着。抓包一瞧,发现它一直在发 ARP 请求找网关,没人回应。原来是 VLAN 配置错了,打印机被划到了错误的子网,根本没法跟网关说话。

命令行党更爱 tcpdump

你在机房维护一台 Linux 服务器,没图形界面,Wireshark 用不了。这时候 tcpdump 上场了。

比如想抓 80 端口的流量,保存成文件传回分析:

tcpdump -i eth0 port 80 -w http_traffic.pcap

抓一会儿后按 Ctrl+C 停止,再用 scp 把 .pcap 文件下载到本地,丢进 Wireshark 打开,照样看得清清楚楚。

移动端也能抓?Fiddler Everywhere 搞定

现在越来越多应用是手机 App,怎么抓?Fiddler Everywhere 可以配置成代理服务器,手机连上同一个 Wi-Fi,手动设置代理指向运行 Fiddler 的电脑 IP 和端口,所有 HTTPS 流量都能解密查看。

前提是手机得装 Fiddler 的根证书,不然 HTTPS 解不了。这招在排查 App 调接口失败、返回异常数据时特别管用。

别乱抓,也别乱看

抓包能力越强,越要注意边界。公司内网里抓同事聊天记录?那可不行。抓包主要用于排障、验证配置、分析协议行为,不是用来窥探隐私的。用之前最好知会相关人员,尤其是涉及敏感业务系统的时候。

另外,抓包会占用一定系统资源,长时间抓大流量可能撑爆硬盘。建议加上过滤条件,只抓关心的部分,比如指定 IP、端口或协议。

真实场景:API 接口调不通,谁背锅?

开发跑来找你:“我调不了支付接口,说是网络问题!”你让他抓包,他不会。你上手用 tcpdump 抓他服务器发出的请求:

tcpdump -i any host api.pay.example.com

发现请求根本没发出去,延迟高是因为应用层重试。最后查到是他代码里配置的超时时间太短,网络稍慢就直接报错。锅不在网络,而在代码逻辑。

这类事多了你就明白,有抓包工具在手,说话才硬气。不然每次都说“可能是网络问题”,时间久了谁还信你?