Wireshark 抓包定位 HTTP 接口慢请求实战:过滤器、时间列和 Follow TCP Stream
来源:17golang原创
时间:2026-06-14 12:29:18 270浏览 收藏
接口慢不一定是后端代码慢,也可能是 DNS、连接建立、代理、网络抖动、服务端等待或响应体过大。浏览器 Network 面板能看到应用层时间,但如果你需要进一步确认一次请求在网络层到底发生了什么,Wireshark 是非常实用的工具。
本文用“定位 HTTP 接口慢请求”这个场景,按真实操作顺序演示:选择网卡抓包、用显示过滤器缩小范围、查看时间列和包详情、再用 Follow TCP Stream 还原一次请求响应。
适合人群
本文适合需要排查接口慢、请求失败、代理转发异常、服务端响应异常的开发者和运维同学。你不需要先掌握复杂网络协议,但要知道请求地址、端口、客户端 IP 或服务端 IP 中至少一个条件。
目录
- 先明确这次要抓哪类请求
- 用显示过滤器缩小范围
- 看时间列和包详情定位慢点
- 用 Follow TCP Stream 还原请求响应
- 常见坑位和检查清单
- 总结
先明确这次要抓哪类请求
打开 Wireshark 后,第一步是选择正在通信的网卡。常见名称包括 Wi-Fi、以太网、Loopback 等。开始抓包前,先确认你要观察的请求条件,否则包列表会很快变得非常多。
建议提前准备这几个信息:
- 服务端 IP 或域名解析后的 IP。
- 服务端端口,例如 80、8080、443。
- 触发请求的时间点。
- 接口路径或关键字,用于后续在流内容里查找。
如果是 HTTPS 请求,Wireshark 默认看不到明文业务内容,但仍然可以观察连接、证书握手、包大小、重传、延迟和关闭过程。本文以 HTTP 或可解密场景说明过滤和定位思路。
用显示过滤器缩小范围
Wireshark 主窗口上方有显示过滤器输入栏。它不会改变已经抓到的包,只负责把当前列表里符合条件的包显示出来,适合排查时逐步收窄范围。
# 只看 HTTP 请求和响应 http.request or http.response # 只看某个服务端 IP ip.addr == 192.168.1.20 # 只看目标端口 tcp.port == 8080 # 组合过滤 ip.addr == 192.168.1.20 and tcp.port == 8080
过滤后重点看包列表里的 Time、Source、Destination、Protocol、Length、Info 等列。Info 列通常能看到请求方法、路径或状态码;Time 列可以帮助你把慢请求和触发时间对齐。

如果你只知道接口路径,可以先用较宽的条件过滤出 HTTP 包,再在包列表或流内容里继续查找关键字。不要一开始就写过长过滤条件,排查时更容易漏掉关键包。
看时间列和包详情定位慢点
慢请求排查时,不要只盯着单个包。一次请求通常包含连接建立、请求发送、服务端处理、响应返回等阶段。你可以通过相邻包的时间差,判断慢点出现在请求发出前、服务端返回前,还是响应传输过程中。
# 只显示时间间隔较大的包,适合快速找等待点 frame.time_delta_displayed > 0.5 # 查看某条 TCP 对话 tcp.stream eq 3
选中一个可疑包后,下方的包详情面板会按协议层展开,例如 Frame、Ethernet、IP、TCP、HTTP。这里可以确认端口、序号、状态码、请求头和响应头等细节。
用 Follow TCP Stream 还原请求响应
当你想把一次 TCP 对话完整串起来看,可以选中相关包,右键选择 Follow TCP Stream。Wireshark 会打开一个新窗口,把同一个 TCP 流里的请求和响应按顺序展示出来。

这个视图适合确认三类问题:
- 请求是否真的发到了目标服务。
- 服务端是否返回了预期状态码和响应体。
- 响应前是否存在明显等待,或者响应内容是否过大。
如果流内容里包含敏感信息,截图和日志归档前要做脱敏处理,尤其是 Cookie、Authorization、手机号、邮箱、订单号等字段。
常见坑位和检查清单
1. 抓错网卡
如果列表一直没有目标请求,先确认网卡是否正确。可以观察每个网卡旁边的实时流量波形,选择请求触发时有明显流量变化的那个。
2. 把捕获过滤器和显示过滤器混淆
捕获过滤器决定“抓哪些包”,显示过滤器决定“展示哪些包”。新手排查建议先抓全量,再用显示过滤器筛选,避免一开始就过滤掉关键数据。
3. HTTPS 明文看不到
HTTPS 默认只能看到连接和加密后的数据。如果要分析业务内容,需要结合浏览器开发者工具、服务端日志,或在受控环境配置解密材料。线上环境不要随意采集和分发敏感流量。
4. 只看状态码,不看时间线
状态码只能说明结果,时间线才能说明慢在哪里。建议同时看 Time、时间差、包详情和 Follow TCP Stream,必要时和服务端日志的请求时间戳对齐。
总结
用 Wireshark 排查 HTTP 接口慢请求时,核心步骤是:选对网卡,抓到目标请求,用显示过滤器缩小范围,查看时间列和包详情,再通过 Follow TCP Stream 还原请求响应。它不替代应用日志,但能补上网络层视角,帮助你判断问题到底在客户端、网络链路、代理层还是服务端。
-
113 收藏
-
182 收藏
-
250 收藏
-
447 收藏
-
373 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习