在很多网络问题里,HTTPS 并不是重点。 当请求表现为超时、断连、重传,或者数据格式完全不符合预期时,关注点自然会落到 TCP 协议。
这类问题靠代理抓包解决不了,因为代理只能看到应用方面。 真正有价值的数据,是在连接建立、数据流拆包和传输顺序里。
先解决怎么抓到 TCP 数据
在 iOS 或桌面系统中,抓 TCP 数据的第一步是数据来源。
如果工具拿不到原始数据流,后面的分析步骤不会成立。
使用 Sniffmaster 进行 TCP 数据流抓包
Sniffmaster 提供了数据流抓包能力,可以直接采集 TCP/UDP 数据流,而不是只关注 HTTP/HTTPS。
抓包准备
- 使用 USB 将 iOS 设备连接电脑
- 保持设备解锁并信任电脑
- 启动 Sniffmaster,在设备列表中选择对应设备
- 在功能区域中选择 数据流抓包
该模式不依赖系统代理,也不要求配置证书。
启动 TCP 数据流抓包
进入数据流抓包界面后:
- 点击“开始”
- 在 iOS 设备上触发目标操作
- 等待数据流出现
Sniffmaster 会按连接维度展示数据流,并自动识别部分常见协议。
通过 App 过滤减少干扰
TCP 数据流往往数量庞大,系统服务与后台任务都会产生连接。
在 Sniffmaster 中,可以:
- 使用应用筛选功能
- 仅保留目标 App 的数据流
- 隐藏无关连接
这样可以把分析范围控制在当前业务相关的连接上。
查看 TCP 数据流的实际内容
在选中某条 TCP 数据流后,可以看到:
- 连接的源地址与目标地址
- 端口信息
- 数据包发送与接收的顺序
- 原始二进制数据
对于自定义协议或非标准格式,这一步非常关键。
导出数据,为后续分析做准备
当需要更细致的分析时,可以将数据导出。
Sniffmaster 支持:
- 导出为 Wireshark 可识别的格式
- 导出单个数据包的二进制内容
导出完成后,可以直接在其他分析工具中打开。
把数据交给 Wireshark
Wireshark 更适合做深度分析,但它依赖已有数据。
在 Wireshark 中打开导出的文件后,可以:
- 按 TCP 流重组数据
- 查看重传、乱序、窗口变化
- 使用过滤器定位特定连接或端口
这一阶段的分析,不再依赖抓包环境,而完全基于数据本身。
实际的分析示例
假设遇到一个问题: App 与服务器通信时,偶尔出现请求卡死。
操作路径可以拆解为:
- 用 Sniffmaster 抓取 TCP 数据流
- 筛选目标 App 的连接
- 导出异常发生时的 TCP 流
- 在 Wireshark 中查看是否存在重传或连接未正常关闭
- 对比正常与异常连接的差异
整个过程中,每一步都有明确的数据支撑。
工具分工
在这个流程里,不同工具承担的职责是清晰的:
- Sniffmaster
- 负责采集真实设备上的 TCP 数据流
- 提供筛选、导出能力
- Wireshark
- 负责对已有数据做深度分析
- 提供协议解析与连接诊断
两者并不重叠,而是前后衔接。
TCP 抓包和分析本身就是两个阶段。
- 抓不到数据,分析工具再强也无从下手
- 数据混乱,再多过滤规则也难以定位问题
把采集和分析拆开,流程反而更清晰。