首页/网络/抓包与流量分析速查/Wireshark TCP 流时序图
Wireshark 技巧75 条

Wireshark TCP 流时序图

Statistics → TCP Stream Graphs → Time Sequence(Stevens 图)把序列号对时间画出来:重传呈水平回退、零窗口呈平台、丢包呈空白阶梯,一眼看清 TCP 行为。

TCP 流时序图是什么

TCP Stream Graphs 是 Wireshark 针对单条 TCP 流画图的工具集:X 轴时间、Y 轴相对序列号,把两个方向的数据绘制成折线,常用的 Time Sequence 图也叫 Stevens 图。图形形态直接对应协议行为——重传是回退或重叠的线段,发送停顿是一段平台,丢包等待补齐是阶梯。同一入口还有吞吐与时延两张图。

基本信息

入口Statistics → TCP Stream Graphs
前提先在报文列表选中该流的任意一个报文
图型Time Sequence / Throughput / Round Trip Time
方向切换图表窗口内可换方向并缩放
适用版本Wireshark 3.x / 4.x

典型使用场景

  • 怀疑某条长连接吞吐低时,一眼看出瓶颈是丢包、停顿还是拥塞收缩
  • 零窗口排查:看平台出现的时刻,与接收端应用日志对齐
  • 跨地域传输质量评估:Throughput 图与 RTT 图对照看带宽时延积是否用满
  • 向他人解释问题:图表比逐包罗列 seq/ack 更直观
  • 验证调优效果:同一业务改造前后各画一次对比形态

操作路径

操作路径
选中报文 → Statistics → TCP Stream Graphs → Time Sequence   # 主图
窗口内左键拖动可框选放大,右键可切换方向                  # 定位问题区间
Throughput 图看速率抖动                                  # 速率维度
Round Trip Time 图看时延漂移                             # 时延维度

图形形态速查

图形形态对应行为说明
线段回退或重叠重传序列号停住后又重复出现同一段数据
水平平台发送停顿多为零窗口通告或应用无数据可发
阶梯状上升丢包后补齐重传填补缺口后继续爬升
斜率明显变缓吞吐下降拥塞窗口收缩或链路出现竞争
两方向线错开明显时延偏大两条线的时间差即为大致 RTT
图形窗口内可直接切换流编号与方向,不必退回主列表重新选包。
从会话中途开始的抓包基线不完整,图形形态会失真,样本过短时不要据此下结论。

读图要点

  • 先确认时间范围覆盖完整会话,样本不足时图形形态不可信
  • 鼠标停在折线上可定位到对应报文,图形与列表可以互相跳转定位
  • 两条线之间的垂直距离近似单向延迟,水平偏移反映发送与确认的节奏差
  • Throughput 图出现规律锯齿,多为拥塞收缩与恢复反复循环
  • 同一业务改造前后各画一次,用形态差异说明变化
同一入口下的 RTT 图与 io,stat 的 AVG 结论可能略有差异,前者按 ACK 配对取样本,后者按时间格聚合,混用前先统一口径。

易错点

  • 抓包点自身丢包会在图上制造假平台,得出「对端不发数据」的错误结论,关键判定要两端对照
  • 超长会话直接画图会被截断显示范围,应先按时间或包号切片再画
  • 把形态当结论:图的形状是线索,最终仍要用 seq/ack 事实与两端日志互相印证

数据来源与参考

  • Wireshark User's Guide(TCP Stream Graphs)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌