使用TraceEagle进行 HTTPS 代理抓包证书配置管理与安装

0 阅读5分钟

证书管理与安装

用代理抓 HTTPS,第一步是让设备和软件信任本工具的根证书——不信任就会 TLS 报错、只能看到乱码密文。本篇带你一步步把证书装好:本机一键装、手机扫码装,以及那些「装了系统证书还是不认」的程序(Java / Python / curl 等)怎么用全覆盖补上。装一次,之后所有会话都能解密。

一、什么时候用

只要走代理抓 HTTPS、想看到明文,就要先装证书。典型场景:

  • 第一次用代理抓 HTTPS 前:本机还没信任根证书,先装一次。见 代理抓包。
  • 手机抓包:手机要单独信任一次根证书,扫码装最快。见 iOS 抓包、Android 抓包。
  • Java / Python / curl / wget 等解不了:这些程序只认自己那份证书清单,装了系统证书照样解不开——用证书全覆盖把证书直接装进它们。

如果你走的是 指定程序抓包、应用层抓包 这类不用代理的抓法,通常不用装证书,可以跳过本篇。

二、前置条件

  • 已安装并启动 TraceEagle(第一次启动同意系统权限即可)。
  • 打开证书管理页面(证书相关操作都在这里:本机信任状态、下载、手机二维码、全覆盖、客户端证书)。
  • 手机扫码装证书时,手机和电脑在同一局域网

证书管理页面

三、分步操作

下面按场景编号,用哪个照着做哪个即可。A 是所有人都要做的第一步

A. 本机一键:安装到本机并信任

抓本机流量,先让本机信任根证书。

  1. 打开证书管理,看本机信任状态——显示「未信任」就继续下一步,已「已信任」可跳过。
  2. 「安装到本机并信任」,按系统提示确认(可能要输入一次开机密码)。
  3. 状态变为 「已信任」 即完成。装一次即可,之后所有会话都能解密 HTTPS。

需要手动分发、或给别的工具用,可在同页 「下载根证书」,提供多种格式,按需取用。

B. 手机扫码安装

手机要单独信任一次根证书。根证书全局通用,每台设备只装一次

  1. 在证书管理页找到手机扫码安装,工具会为局域网内每个可用地址生成二维码
  2. 手机相机扫码,打开安装页,按下面对应系统装好:
    • iOS:先按页面提示下载描述文件,再去 设置 → 通用 → VPN 与设备管理安装描述文件;装完还要去 设置 → 通用 → 关于本机 → 证书信任设置打开对该根证书的完全信任(这一步不做,iOS 依然解不了)。详见 iOS 抓包。
    • Android(普通设备):打开安装页,把根证书装为用户证书 / CA 证书即可。注意部分 App 只认系统证书、不认用户证书,遇到解不了见 Android 抓包]。
    • Android(已 root 设备):可直接把根证书装入系统证书库,省去手动导入,兼容性最好。
  3. 装完回到 App 里产生一次 HTTPS 请求,确认能解密。

C. 证书全覆盖:连「不认系统证书」的程序也能解

有些程序装了系统证书也照样解不了——它们只认自己那一份证书清单。全覆盖能把根证书直接装进这些程序

  1. 在证书管理页打开证书全覆盖。工具会自动发现本机上这类软件(包括正在运行的),逐个列出并标注「已装 / 未装」,常见的有:
    • Java 程序
    • Python 程序
    • curl / wget / Ruby / PHP / git 等命令行与脚本工具
    • Firefox / Thunderbird 等软件
  2. 未装的项点安装,把根证书装进去;想撤销的点对应的移除即可。
  3. 自动发现漏掉的(装在非常规路径、或工具没识别到的),用手填路径补上,再安装。

这正是普通抓包工具的老大难:证书装了、程序却还是解不开。全覆盖专治这一点。

D. 客户端证书导入

如果对方站点要求客户端证书(双向认证),而你手里正好有:

  1. 打开客户端 / 域名证书页。
  2. 导入你的客户端证书(如有密码一并填入)。
  3. 之后抓这些站点时即可正常握手、正常解密。

四、验证:确认装好并能解密

  • 本机:回到证书管理页,本机信任状态显示 「已信任」
  • 能解密:走代理产生一条 HTTPS 请求,在请求列表点开详情,TLS 显示「已解密」、响应是可读明文(如 JSON)而非乱码。
  • 全覆盖 / 手机:对应程序或手机 App 的 HTTPS 请求同样能看到明文。

怎么读详情、切视图、解码,见 数据查看与解码。

五、装了还解不了?逐条排查

现象多半是怎么办
本机装了系统证书,某程序还是只有密文这程序只认自己的证书清单(典型是 Java / Python / curl / Firefox)C. 证书全覆盖 把证书装进它;自动发现没列出的用手填路径
手机装了证书,App 还是抓不到明文App 只认系统证书、不认用户证书,或做了证书绑定(Pinning)Android 用 root 设备装进系统库;仍不行多半是绑定,见 解除证书绑定
iOS 装了描述文件仍报错漏了「证书信任设置」里的完全信任开关设置 → 通用 → 关于本机 → 证书信任设置 打开对该根证书的信任,见 iOS 抓包
全覆盖里某程序找不到装在非常规路径,自动发现没覆盖到在全覆盖页用手填路径指向它,再安装
装好也解不了、且抓到的是它自研加密目标不走标准 TLS,证书解决不了改用 应用层抓包 从程序内部取明文

下一步

  • 装完证书就可以正式开抓:回到 代理抓包。
  • 手机端完整流程:见 iOS 抓包、Android 抓包。
  • 证书装了、App 却做了证书绑定导致抓不到:见 解除证书绑定。
  • 抓到之后怎么读、怎么解码:见 数据查看与解码。

项目地址:github.com/traceeagle/…