Follow 流在做什么
Follow 把一条会话的应用层数据按方向重组成两栏文本:一栏是客户端发出,另一栏是服务端返回。它是应用层排障的第一步——认证失败、字段缺失、返回体异常,看一眼重组结果往往比逐包翻载荷快得多。入口是选中任意报文后右键,选择 Follow,再选 TCP、UDP 或 HTTP 流。TCP 版显示原始字节,包含协议头与分块外壳;HTTP 版按协议语义重组,读起来最省力,两者各有用途,不能互相替代。
基本信息
| 入口 | 右键报文 → Follow → TCP / UDP / HTTP / TLS Stream |
|---|---|
| 两种视图 | 原始数据与按协议解码,可在弹窗内切换 |
| 导出 | 弹窗内的 Save as 可把两个方向分别存成文件 |
| 定位 | 弹窗底部可把光标跳回主窗口中对应的报文 |
| 前提 | 抓包时快照长度足够大,否则重组内容残缺 |
典型使用场景
- 检查接口返回内容:直接读响应体确认字段与状态是否符合预期
- 排查认证类问题:看请求头里带的凭证与服务端返回的挑战信息
- 确认编码与封装问题:Follow TCP 显示原始字节,能看到分块与压缩外壳
- 与业务日志对照:把重组结果导出后逐行比对,定位是哪一步出现差异
- HTTPS 排查:先用密钥日志解密,再 Follow 才能看到明文内容
操作路径
操作路径
1) 在报文列表里选中该会话的任意一包
2) 右键 → Follow → Follow HTTP Stream(或 TCP Stream)
3) 弹窗内切换原始数据与解码视图
4) 需要留证时用 Save as 导出两个方向的数据
5) 用弹窗底部条目跳回主窗口,核对时间与时序四种 Follow 的区别
| 选项 | 显示内容 | 适用场景 |
|---|---|---|
| Follow TCP Stream | 该 TCP 会话的全部应用层字节,保留协议头与分块外壳 | 分析原始行为、看清边界与编码问题 |
| Follow UDP Stream | UDP 会话两个方向的载荷 | DNS、QUIC 等无连接协议的内容排查 |
| Follow HTTP Stream | 按 HTTP 语义重组,剥离分块传输等外壳 | 直接读请求与响应,最快看清业务逻辑 |
| Follow TLS Stream | 解密后的明文,前提是配置了密钥日志 | HTTPS 排障,且只能解密导出过密钥的那台客户端 |
Follow 视图不显示时间戳,也把乱序与重传合并成一条连续的字节流。判断时序、丢包与重传必须回到主窗口看原始报文,两者配合使用。
抓包时快照长度太小会让重组内容残缺,缺失的字节无法事后恢复。怀疑应用层内容问题时,抓包就必须带上完整快照长度。
配合使用
配合使用
tshark -r a.pcap -z follow,tcp,ascii,3 # 命令行版 Follow,导出第 3 号流
tshark -r a.pcap -q -z follow,http,ascii,5 # 按 HTTP 语义重组查看判读要点
- 请求发出但没有响应:重组视图里只有一侧内容,配合握手与重置报文一起判断
- 响应内容被截断:先确认抓到的是不是完整会话,再看快照长度是否足够
- 两个方向内容乱序:多半是抓包点同时看到了重复报文,回到主窗口按流过滤重看
- TLS 流量内容全是密文:属于正常现象,需要密钥日志才能继续
Follow 的定位能力常被忽略:弹窗底部会把光标跳回主窗口对应报文,看到可疑内容后可以立刻回去核对时间、地址与标志位,比手工搜索快得多。