用户手册

iOS HTTPS 解密:安装并信任 NetPeek CA

要在 iPhone 上查看 HTTPS 明文,必须手动安装并完全信任 NetPeek 本机生成的 CA,且仅 MITM 名单内的域名会被解密。CA 在设备上生成,私钥不离开本机,NetPeek 不上传;系统也无法自动信任。完成安装与信任后,把目标域名加入 MITM 名单并重新发起请求。

安装与信任

要看到 HTTPS 的明文内容,需安装并信任 NetPeek 在本机生成的 CA 证书。这一步由你手动完成,iOS 会强制经过「设置」确认。

  1. 开始抓包后,在浏览器打开 http://127.0.0.1:8080 的证书安装页,下载描述文件。
  2. 前往「设置 → 通用 → VPN 与设备管理」,安装该描述文件。
  3. 再到「设置 → 通用 → 关于本机 → 证书信任设置」,为 NetPeek 证书开启完全信任。
  4. 把要调试的域名加入 MITM 主机名单。
  5. 重新发起请求;已有记录不会自动回填明文。
证书只用于本机解密调试,不会被上传。上游证书默认以观察(fail-open)方式校验:记录问题但不因证书异常中断连接,便于调试配置不规范的服务端。

MITM 主机名单

出于性能与稳定,NetPeek 只对你指定的域名做 HTTPS 解密(MITM),其余走透明转发。名单支持通配:

  • +域名 / 直接写域名 = 解密该域名;* = 解密全部。
  • -*域名* = 明确不解密(黑名单,优先级高于通配)。
  • 请求列表左滑 →「加 MITM / 加 MITM 黑名单」可快速维护。
自有后端域名(控制面)始终强制直连、不解密、也绝不写入抓包库,属安全红线。

为什么 HTTPS 默认看不到明文

HTTPS 的意义就是中间人读不到内容。要看到明文,必须由你明确授权 NetPeek 充当这个中间人:

  • NetPeek 在本机生成一张 CA 证书,私钥不离开设备,也不会上传。
  • iOS 强制你手动安装描述文件,再到「证书信任设置」里单独打开完全信任 —— 这一步系统不允许 App 代劳。
  • 只有你列入 MITM 主机的域名才会被解密,其余流量原样透传。
  • 随时删除描述文件即可终止解密能力。

解密后仍然看不到内容的常见原因

  • 证书装了但没在「证书信任设置」里开启完全信任 —— 这是最常见的一种。
  • 目标域名没有加入 MITM 主机列表。
  • App 做了证书固定(SSL Pinning),会主动拒绝任何非预期证书。这是设计使然,需要用关闭 pinning 的调试包。
  • 流量走的是 QUIC/HTTP3,可在 MITM 选项里开启「自动屏蔽 QUIC」让其回退到 TCP。

上游证书校验的三档取舍

  • 关闭:跳过上游校验,兼容性最高,适合服务端证书配置不规范的内网环境。
  • 观察:照常校验并记录问题,但不中断抓包 —— 默认推荐。
  • 强制:上游证书不受信任时直接拦截连接,自签名或企业 CA 站点会访问失败。

常见问题

NetPeek 会自动信任证书吗?

不会。iOS 强制要求用户在系统设置中手动安装描述文件并开启完全信任,NetPeek 无法代劳。

CA 证书会上传吗?

不会。证书在本机生成,私钥不离开设备,只用于你主动选择的本机 HTTPS 调试。

为什么信任证书后仍没有明文?

常见原因:未在证书信任设置开启完全信任、域名未进 MITM 名单、App 做了 SSL Pinning(需关闭 pinning 的调试包)、或流量走 QUIC/HTTP3(可在 MITM 选项屏蔽 QUIC 回退 TCP)。加入名单后须重新发起请求,历史记录不会被追溯解密。

继续了解