文档中心
Charles鎶撳寘绁炲櫒濡備綍淇′换SSL璇佷功锛?鍒嗛挓鎼炲畾HTTPS瑙e瘑
时间 : 2025-09-27 15:43:13浏览量 : 3

如果你经常用Charles抓包分析APP或网页数据,一定遇到过一堆乱码——这是因为HTTPS加密了流量。要让Charles看懂这些内容,必须让它“信任”网站的SSL证书。今天我们就用大白话聊聊这个操作,顺便讲讲背后的安全原理。
一、为什么Charles需要信任证书?
想象你寄了一封密码信,邮差(Charles)想检查内容,但你俩没有共同的密码本(证书),他只能看到乱码。HTTPS也是这样:
1. 正常流程:你访问百度时,浏览器和服务器会用SSL证书“对暗号”,确认对方是真人后才加密通信。
2. 抓包场景:Charles作为中间人,需要自己伪造一个“假证书”骗过设备(比如手机),才能解密流量。
举例:你抓包淘宝APP时,如果不装Charles证书,看到的全是`U2FsdGVkX1/...`这类加密字符;装了证书后就能看到明文商品数据。
二、具体操作步骤(附避坑指南)
▍电脑端安装根证书(以Mac为例)
1. 打开Charles → Help → SSL Proxying → Install Charles Root Certificate
2. 钥匙串中找到`Charles Proxy...`证书 → 右键点击显示简介 → 展开“信任”选项 → 始终信任

▍手机端安装证书(iOS/Android)
1. 确保手机和电脑连同一WiFi,并在Charles设置代理IP
2. 手机浏览器访问`chls.pro/ssl`下载证书
- iOS额外步骤:进入设置→已下载描述文件→安装后还要去通用→关于本机→证书信任设置里手动开启信任
- Android提示:部分机型需锁屏密码才能安装用户证书
?? 常见翻车点:
- iOS 15+会提示“此证书不受信任”→必须去设置里手动开启(苹果的安全机制)
- 抓不到微信小程序?可能是用了SSL Pinning(后文会讲破解方法)
三、背后的安全知识延伸
你以为只是点个“信任”?其实这里涉及三个关键概念:
1. CA机构与根证书
全球有几百家CA机构(比如DigiCert、Let's Encrypt),它们像“公安局”一样负责颁发SSL证书。你的电脑/手机出厂时就内置了这些CA的根证书列表——这就是为什么浏览器能自动识别正规网站。
*比喻*:CA是国际护照签发机构,根证书就是护照防伪技术标准。
2. Charles的中间人攻击原理
当你安装Charles根证书后,相当于给它发了张“万能护照”:
- Charles拦截到淘宝的请求时,会现场伪造一个`taobao.com`的假证书记住!这个假证是用你电脑上受信的Charles根证签发的)。
- 你的手机检查发现:“哦这个假证是合法的Charles签发的”,于是放心交出数据。

3. SSL Pinning的反制措施
有些APP(如银行类)会硬编码只认自家证书——这叫SSL Pinning。破解方法:
- 安卓:用Frida/Objection注入代码绕过校验
- iOS:越狱后用Cydia Substrate Hook验证函数
四、安全提醒:别乱装不明证书!
虽然本文教你怎么装Charles证书记住!但在真实网络世界:
? 只装自己可控的测试证书(比如公司内网开发用)
? 千万别装来路不明的根证书记住!否则黑客能偷看你所有账号密码!
*真实案例*:2025年某间谍软件就通过诱导用户安装恶意根证书记住!监控了中东记者们的Gmail通信。
五、 checklist
|步骤|关键动作|验证是否成功|
||||
|1.电脑装证书记住!|钥匙串设为“始终信任”|Chrome访问https不报错|
|2.手机装证书记住!|iOS需手动开启信任|能抓到APP的明文数据|
|3.SSL Pinning?|用Hook工具绕过|特例处理|
下次遇到抓包失败记得回来对照~ (建议收藏本文备用)
TAG:charles 信任ssl证书,微信网页版证书风险,请在微信浏览器,微信浏览器审查元素,微信浏览器 webassembly,微信该网站的安全证书有问题怎么解决,微信浏览器 user agent,请在微信浏览器中打开链接,微信浏览器代码