Skip to content

iPhone 抓包断点调试:拦截并修改 HTTP 请求和响应

在 HTTPS Capture 里设置断点,在 iPhone 上暂停匹配的 HTTPS 请求或响应,修改 Header、Body 或状态码后再放行或丢弃。

2 分钟阅读HTTPS Capture

有时光看流量不够,还需要当场改一改。比如把响应里的价格改成 0,把请求里的用户 ID 换掉,或者把 200 改成 403 看 App 怎么处理。HTTPS Capture 的 断点 可以在 iPhone 上暂停实时的请求或响应,手动修改后再发出去。

断点的原理

请求命中断点规则后,HTTPS Capture 会先把它扣住:

  • 请求断点:请求发到服务器之前暂停,你决定之前什么都不会发出去。
  • 响应断点:等服务器的完整响应到达后暂停,App 收到之前由你处理。

暂停期间可以 放行(原样发出)、丢弃,或者 编辑并放行。

第一步:添加断点规则

  1. 在抓包页点 规则 → 断点。
  2. 打开 启用断点,点 添加规则。
  3. 填写 URL 匹配模式,比如 api.example.com/checkout;匹配 方式选 包含 或 正则表达式。
  4. 方向 选 请求 或 响应。想同时改请求和响应,就各加一条规则。
  5. 可以写个备注,保存后立即生效。

匹配范围尽量窄一些。如果断点设在 example.com 上,这个网站的图片和脚本也会全部被暂停。

第二步:触发请求

开始抓包,在 App 里执行对应操作。命中规则后,抓包页会出现红色的 已暂停请求 徽章,点进去就是 已暂停的请求 列表;断点配置页也有同样的入口。

每一项都会显示方向(REQ 或 RESP)、方法、状态码、URL,以及 自动放行倒计时。

第三步:放行、丢弃或修改

  • 放行:原样转发。
  • 丢弃:取消这条请求,App 会看到连接失败。
  • 编辑并放行:打开编辑器后可以:
    • 修改 Header,每行一条 Key: Value;多个 Set-Cookie 这类重复头会保留。
    • 修改文本类 Body,比如 JSON、XML、HTML、表单或 JavaScript。gzip、deflate、Brotli 压缩的 Body 会先解压给你编辑,提交时自动重新压缩。
    • 响应还可以修改 状态码(100 到 599)。

提交后会自动重算 Content-Length,保证修改后的报文仍然有效。

注意事项

  • 10 分钟自动放行:忘了处理的请求会自动放行,App 不会一直卡住;最后一分钟倒计时会变红。
  • App 可能先超时:很多 App 等 30 到 60 秒就放弃了。要么改得快一点,要么把需要反复做的修改交给 重写规则 或 脚本。
  • 流式响应(比如 Server-Sent Events)不适合用响应断点,因为响应要完整到达后才能暂停。
  • 二进制 Body 以及超过 8 MB 的 Body 只能查看,不能编辑。
  • 请求的时序数据会单独记录断点暂停的时间,时序瀑布图不会因此失真。

什么时候用其他功能

HTTPS Capture

Capture and decrypt HTTPS traffic on iPhone

App Store

准备好试试了吗?

HTTPS Capture · Capture and decrypt HTTPS traffic on iPhone

App Store 免费下载