追流是什么
追流把一条 TCP 连接的双向载荷按时间顺序拼接成一个窗口展示,是定位应用层内容最快的办法。操作方式是在目标报文上右键选择追流,工具会自动生成对应的显示过滤条件,把这条会话单独筛出来。窗口中用两种颜色区分两个方向,报文边界会以标记的形式标出;看到异常内容后,可以顺着帧号跳回主列表查看该报文的完整上下文,这是它比单纯导出文本更有用的地方。
基本信息
| 适用平台 | 图形化抓包工具;命令行版本可用会话过滤条件配合导出实现类似效果 |
|---|---|
| 前提 | 载荷未被加密:加密流量只能看到握手信息与密文长度 |
| 方向区分 | 两种颜色分别代表两个方向,配色可在设置中切换 |
| 定位方式 | 追流窗口中的帧号可以跳回主列表,查看该报文的全部协议细节 |
| 保存方式 | 在追流窗口内可把内容另存为文件,或复制为文本 |
| 会话编号来源 | 包详情里的会话编号字段,同一会话内所有报文编号相同 |
典型使用场景
- 确认应用到底发了什么内容,判断是客户端请求错误还是服务端返回异常
- 比对一次请求与响应的完整文本,核对协议格式与字段是否符合预期
- 排查编码与换行问题:文本乱码或内容被截断时,直接看原始载荷
- 统计某类业务报文长度,解释为什么某些请求特别大
- 把会话内容导出留档,作为与开发方沟通的证据
- 确认响应是否完整:内容中途截断往往指向连接被中断
操作与等效过滤器
操作与等效过滤器
# 在目标报文上右键 → Follow → TCP Stream
# 工具自动生成并应用该会话的显示过滤器:
tcp.stream eq 12
# 针对明文 HTTP 可用专用视图,自动解码请求与响应:
# Follow → HTTP Stream
# 只看某个方向的内容:
ip.src == 10.0.0.5 && tcp.stream eq 12
# 只看携带数据的帧,排除纯确认:
tcp.stream eq 12 && tcp.len > 0视图对照
| 视图 | 展示内容 | 适用条件 |
|---|---|---|
| TCP 追流 | 该连接双向载荷按序拼接 | 明文协议或需要看原始字节 |
| HTTP 追流 | 自动解码请求行、头部与正文 | 明文 HTTP 流量 |
| 单方向过滤 | 只显示一个方向的内容 | 需要区分谁发了什么时 |
| 导出文件 | 把会话内容落盘 | 需要留档或交给他人分析 |
追流窗口里出现的分段重组提示属正常现象:说明这段内容由多个报文拼接而成,不代表丢包或异常。反过来,内容在中间突然截断,才值得回到主列表查连接是否被中断。
追流只覆盖一条会话。同一次业务交互可能并发使用多条连接,只看其中一条就断言业务失败并不严谨,需要结合多条会话与服务端日志一起判断。
判读要点
- 方向看颜色:先确认哪一种颜色代表客户端,避免把响应内容当成请求
- 内容看边界:重组标记之间的分界就是报文边界
- 异常看截断:内容中途断掉要回到主列表确认连接是否被中断
- 时序看帧号:帧号顺序代表到达顺序,不要按内容顺序推断先后
- 留证看导出:关键会话及时另存,避免过滤条件丢失后无法复现