iOS App 抓包看不到内容,从有请求没数据一步步排查

在抓包工具里看到请求,但点进去之后发现Body 是空的,Response 显示为加密数据,或者根本没有响应内容

这种情况比抓不到包更容易让人烦,因为请求确实存在,只是内容看不到 被加密了。


先确认是哪一种看不到内容

打开 Charles、Sniffmaster 或 Proxyman,点击一条请求,重点看三个位置:

  • Request Body
  • Response Body
  • Status Code

三种常见表现

表现 1:Response 是乱码或不可读

说明 HTTPS 已经接收了,但没有被解密

表现 2:Body 完全为空

说明请求结构被抓到,但数据未被还原

表现 3:请求正常但返回 0 字节

说明请求可能被中断或未完成

不同表现,对应不同处理方式。


验证 HTTPS 解密是否正常

先用浏览器做一个对照。

在同一设备上:

  1. 打开 Safari
  2. 访问 HTTPS 网站
  3. 查看抓包工具

对比结果

如果 Safari 也看不到内容

说明证书未生效

需要重新操作:

  1. 删除旧证书
  2. 重新安装
  3. 在证书信任设置中开启信任
  4. 重新打开浏览器测试

如果 Safari 正常,App 不正常

说明 App 内部做了额外处理(例如证书校验)

继续看下一步。


确认请求是否被代理拦截

在 Charles 中观察请求的连接方式。

如果请求没有出现在代理工具里,而是后来通过其他方式抓到,说明 App 可能没有走系统代理


验证方法

关闭 Wi-Fi,重新触发请求:

  • 如果 App 报错 → 请求确实存在
  • 如果代理工具没有记录 → 没走代理

此时需要换抓包方式。


对设备直接抓包确认真实数据

使用 SniffMaster(抓包大师) 进行对手机直接抓包。


操作步骤

  1. 用 USB 连接 iPhone
  2. 保持设备解锁
  3. 点击信任此电脑
  4. 启动 SniffMaster
  5. 选择设备
  6. 安装描述文件
  7. 进入 HTTPS 暴力抓包模式
  8. 点击开始

然后触发 App 请求。


观察结果

如果在这里可以看到:

  • URL
  • Header

说明请求确实存在。


定位Body 看不到的原因

如果在 SniffMaster 中仍然:

  • Body 为空
  • Response 不完整

可以直接判断与证书无关,而是应用本身限制


处理方式:重新签名

操作流程:

  1. 获取 App 的 IPA
  2. 使用 iOS 开发证书签名
  3. 安装到设备
  4. 再次抓包

变化观察

重新签名后:

  • Request Body 出现
  • Response 内容可见

这是一个可以直接验证的变化。


另一种情况:数据被编码

有时抓到的数据不是空,而是:

  • Base64
  • 压缩数据

在 SniffMaster 中可以看到字段:

  • IsBase64Body = true

处理方式

需要:

  1. 解码 Base64
  2. 或在工具中查看解码后的内容

如果是二进制协议,需要结合协议解析。


避免误判为空数据的一个技巧

在抓包界面中:

  1. 查看 Content-Length
  2. 查看响应大小

判断方法

  • Content-Length > 0 → 数据存在
  • 显示为空 → 可能是编码或未解析

可以通过导出数据进一步分析。

参考链接:https://www.sniffmaster.net/blog/139

相关推荐
赏金术士6 小时前
Kotlin 习题集 · 高级篇
android·开发语言·kotlin
问心无愧05138 小时前
ctf show web 入门42
android·前端·android studio
没什么本事9 小时前
关于C# panel 添加lable问题 -- 明确X和Y 位置错误
android·java·c#
博客zhu虎康9 小时前
小程序:实现下拉刷新和上拉加载更多功能
小程序
aiopencode11 小时前
iOS开发中Xcode安装不完整问题解决方案与配置指南
后端·ios
Joseph1811 小时前
深度拆解 DanceUI:从声明式视图到原生渲染的全链路技术解析
ios·swiftui
人月神话Lee11 小时前
【图像处理】颜色科学与灰度化——人眼看到的和数字记录的不一样
ios·ai编程·图像识别
bcbnb12 小时前
iOS开发中手动实现代码混淆的完整步骤与示例
后端·ios
REDcker12 小时前
Android HWASan 详解:硬件标记原理、Clang 启用与排障实践
android·linux·debug·编译·clang·asan·hwasan
2501_9159090613 小时前
全面解析前端开发中常用的浏览器调试工具及其使用场景
android·ios·小程序·https·uni-app·iphone·webview