如果你需要截取分析 Https 协议相关的内容。那么需要安装 Charles 的 CA 证书。具体步骤如下
1、在电脑上安装证书(以mac电脑为例)
点击 Charles 的顶部菜单,选择 “Help” -> “SSL Proxying” -> “Install Charles Root Certificate”,然后输入系统的帐号密码,即可在 KeyChain 看到添加好的证书 注意:PC端添加证书之后需要到钥匙串中始终信任下
2、设置手机代理
电脑端设置
配置Proxy>>proxy setting>>勾选support HTTP/2和Enable transparent HTTP proxying (支持HTTP/2协议和启用透明HTTP代理),端口8888用于手机设置代理时使用
手机端设置
设置-WLAN-修改网络/高级设置(以华为手机为例)
3、截取移动设备中的 Https 通讯信息
如果我们需要在 iOS 或 Android 机器上截取 Https 协议的通讯内容,还需要在手机上安装相应的证书。
“Help” -> “SSL Proxying” -> “Install Charles Root Certificate on a Mobile Device or Remote Browser”,然后就可以看到 Charles 弹出的简单的安装教程。如下图所示:
在设备上设置好 Charles 为代理后,在手机浏览器中访问地址:http://chls.pro/ssl即可打开证书安装的界面,进行证书安装。
Android手机证书安装步骤:
1、下载文件 2、设置-安全-更多设置-加密和凭据-从存储设备安装 选择下载的证书文件进行安装 提示安装成功后,可进入设置-安全-更多设置-加密和凭据-受信任的凭据-用户,检查是否有新增的信任用户,有则安装成功了,若无则未安装成功(一般mac电脑的证书证书名称中带有mac电脑的名字)
IOS手机证书安装步骤
在iOS 10.3之前,安装自定义证书后,iOS会默认信任,不需要进一步的设置;但是iOS 10.3后,安装自定义证书默认需要进行信任设置 设置->通用->关于本机->证书信任设置-> 找到charles proxy custom root certificate然后信任该证书.
4、完成添加配置HTTPS
Proxy》SSL Proxying Setting,如下图(443端口主要是用于HTTPS服务,80端口是HTTP)
遇到的问题
以上配置均已完成,依旧进行抓包 解决方法1: 需要抓取的APP做了限制,不允许进行抓取,如果是测试需要,可联系对应的开发同学,进行修改 解决方法2: 配置还未生效,可使用一下方法尝试 1、可使用杀掉APP的方法尝试 2、重启charls 3、网络发生过改变,可将代理重新设置一次 解决方法3: 可能是下载的证书不正确,可尝试用UC浏览器访问证书下载地址 解决方法4: 重装证书(此法比较玄学,我还没找到原因)
|