TCP 流分析82 条

TCP 流图 Flow Graph

Statistics → Flow Graph 按时间轴画双方报文交互图:请求-响应的箭头时序一目了然,适合向非网络同事解释"慢在哪个环节"。

Flow Graph 是什么

Statistics → Flow Graph 把一条或多条会话按时间轴画成箭头交互图:横向是时间,纵向是通信双方,箭头方向标出报文由谁发出,箭头之间的间距反映交互节奏。它解决的是“怎么向非网络同事解释慢在哪里”:把请求与响应画成一条竖线,就能直观看出是客户端发得晚、服务端回得慢,还是来回次数过多。Flow type 选 TCP Flows 看连接级交互;选 All Packets 会把握手与确认也画出来,信息更全但画面更杂。

基本信息

适用产品Wireshark 桌面版(Windows / macOS / Linux)
入口Statistics → Flow Graph…
常用 Flow typeTCP Flows 看连接级请求响应
视图元素时间轴、通信双方、方向箭头
联动操作点击箭头可跳回主列表对应帧

典型使用场景

  • 汇报讲解:把一次慢请求的交互顺序画出来,非网络同事也能读懂问题在第几步
  • 判断迟到方:区分是客户端发得晚还是服务端回得慢
  • 统计交互轮次:往返次数偏多往往说明协议设计冗余或缓存策略不合理
  • 对照正常与异常:同一业务流程的两条流并排比较差异
  • 确认连接复用:看同一条流上承载了几次请求响应

操作步骤

操作步骤
# 先过滤到目标流,避免多条流互相干扰
tcp.stream == N
Statistics → Flow Graph…              # Flow type 选 TCP Flows
# 只勾选当前流,观察箭头间隔与方向
# 点箭头跳回主窗口定位报文

读图要点

图形特征含义常见结论
箭头密集且间隔均匀正常的请求响应往返无异常
长时间只有单向箭头一方持续发送而另一方沉默对端未响应或应用卡住
请求与响应间隔突然拉长交互节奏变慢应用抖动或链路时延抬升
出现重复箭头同一数据被重发或重复请求查丢包或客户端重试逻辑
它和 Statistics → TCP Stream Graphs 里的 Time Sequence 图互补:Flow Graph 看交互节奏与方向,Time Sequence 看吞吐、窗口与重传随时间的变化,两者配合能覆盖大部分会话级问题。
同时勾选多条流时画面会非常杂乱,不同颜色与编号交错,很容易把两条会话的报文看成一条;先过滤到单条流再打开图。

易错点

  • 箭头方向是相对本端视角的,看图前先确认哪一侧是客户端,方向读反会得出完全相反的结论
  • 多流叠加时不同颜色的箭头交错,先过滤到单流再画图,否则编号与颜色对不上
  • Flow Graph 只画交互不画诊断标注,重传与零窗要靠主列表的标记或 Time Sequence 图确认,不要凭图下诊断结论
  • 横轴是相对时间,跨抓包点的两段数据不能直接对齐,拼接前要有统一时钟源

数据来源与参考

  • Wireshark User's Guide(Flow Graph)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌