用户使用  Charles  对移动端  App  进行  HTTPS  调试,核心步骤可以概括为:连接同一网络、配置手机代理、下载并信任SSL证书。下面我以  iOS  和  Android  系统为例,为用户梳理具体的操作流程。

mermaid

flowchart  TD

        A[准备工作<br>手机与电脑连接同一Wi-Fi]  -->  B[配置手机代理<br>指向电脑IP与Charles端口]

        B  -->  C{下载并安装<br>Charles根证书}

        C  -->  D[iOS设备]

        C  -->  E[Android设备]

        subgraph  D  [iOS  流程]

                D1[浏览器访问<br>chls.pro/ssl  下载证书]  -->  D2[设置  ->  通用<br>->  VPN与设备管理<br>安装描述文件]  -->  D3[设置  ->  通用<br>->  关于本机<br>->  证书信任设置<br>开启证书开关]

        end

        subgraph  E  [Android  流程]

                direction  TB

                E1[浏览器访问<br>chls.pro/ssl  下载证书]  -->  E2{直接安装<br>是否成功?}

                E2  --  是  -->  E3[设置  ->  安全<br>->  加密与凭据<br>->  从存储设备安装<br>(部分厂商路径不同)]

                E2  --  否/需手动安装  -->  E4[在电脑端通过<br>Help  ->  SSL  Proxying<br>->  Save  Charles  Root  Certificate...<br>导出证书并传至手机]

                E4  -->  E3

        end

        D3  -->  F[在Charles中<br>开启SSL代理并添加目标域名]

        E3  -->  F

        F  -->  G[开始调试<br>成功解密HTTPS流量]

一、  iOS  设备:安装与信任证书

在  iOS  设备上,安装证书后还需要一个“信任”步骤,否则依然无法抓包。

1.    配置代理:确保手机和电脑在同一个  Wi-Fi  下。点击  Wi-Fi  旁边的详情图标  `(i)`,将“配置代理”改为“手动”,填入电脑的  IP  地址和  Charles  的端口(默认为  `8888`)。

2.    下载证书:打开手机  Safari  浏览器,访问证书下载地址  `chls.pro/ssl`。页面会提示下载一个描述文件  。

3.    安装描述文件:下载完成后,手机会自动跳转或你需要进入  “设置”  ->  “通用”  ->  “VPN与设备管理”。点击下载好的“Charles  Proxy  CA...”描述文件,然后点击右上角的“安装”  。

4.    关键步骤:信任证书:对于  iOS  10.3  及以上的系统,安装完描述文件后,必须再进入  “设置”  ->  “通用”  ->  “关于本机”  ->  “证书信任设置”,找到刚刚安装的  Charles  根证书,打开后面的开关以启用完全信任  。至此,iOS  端的配置才算完成。

二、Android  设备:安装证书的多种方式

Android  系统版本和厂商定制较多,安装路径略有不同,但核心思路一致。

1.    配置代理:与  iOS  类似,长按已连接的  Wi-Fi,选择“修改网络”,将“代理”设置为“手动”,填入电脑  IP  和端口  `8888`  。

2.  下载证书**:在手机浏览器(如  Chrome  或系统浏览器)中访问  `chls.pro/ssl`,系统会自动下载一个  `.pem`  格式的证书文件  。

3.    安装证书:

        通用路径:进入手机  “设置”  ->  “安全”  ->  “加密与凭据”  ->  “从存储设备安装”(或“安装CA证书”)。找到并点击刚刚下载的证书文件,按照提示完成安装  。

        备选方案:如果浏览器下载后找不到安装入口,可以尝试在电脑端通过  Charles  菜单  `Help`  ->  `SSL  Proxying`  ->  `Save  Charles  Root  Certificate...`  将证书导出,然后通过蓝牙、文件传输等方式发送到手机,再重复上述“从存储设备安装”的步骤  。部分手机可能需要将证书文件重命名为  `.crt`  后缀才能识别  。

4.    验证安装:安装成功后,可以在“设置”  ->  “安全”  ->  “加密与凭据”  ->  “信任的凭据”  ->  “用户”  标签页下,找到名为“Charles  Proxy  CA”的证书  。

三、补充说明与常见问题

完成上述步骤后,还有几个小细节需要注意:

开启SSL代理:手机端配置好证书后,别忘了在电脑端的  Charles  上,点击  `Proxy`  ->  `SSL  Proxying  Settings`,勾选“Enable  SSL  Proxying”,并点击“Add”填入你需要解密的域名(如  `*:*`  或  `*:443`  代表所有)。

允许连接:当手机首次连接  Charles  代理时,电脑端  Charles  会弹出一个提示框,询问是否允许该设备连接,记得点击  “Allow”  。

为什么  Android  7.0  以上还是抓不到某些  App  的包?**  这是由  Android  系统的“证书固定”和网络安全配置导致的。高版本  Android  默认不信任用户安装的证书,只有系统内置的证书才被信任。如果  App  自己做了更强的校验,可能需要将  App  改成可调试版本,或通过  root  手机后将  Charles  证书安装到系统证书目录下  。

如果在某个步骤遇到问题,比如找不到SSL证书安装入口,可以告诉我你的手机型号和系统版本,我会帮你看看具体的操作路径~