一、简介
Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。 除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。
二、环境
PC 系统:Windows 10 PC 软件:Charles 4.6.2 移动端系统:MIUI 12.0.9
三、配置
3.1 截取 PC 端网络请求
Charles 菜单栏 → Proxy → Windows Proxy 该配置会将 Charles 设置成系统代理,使 Charles 能够截取到系统中的网络请求,如果只抓取移动端的包,建议关闭此配置,这样有利于快速精准定位到需要截取的网络请求 【注】Chrome 和 Firefox 浏览器默认并不适用系统的代理服务器设置,而 Charles 是通过将自己设置成代理服务器来完成封包截取的,所以在默认情况下无法截取 Chrome 和 Firefox 浏览器的网络通讯内容。如果你需要截取的话,在 Chrome 中设置成使用系统的代理服务器设置即可,或者直接将代理服务器设置成 127.0.0.1:8888 也可达到相同效果
3.2 截取移动端网络请求
3.2.1 PC 端配置
3.2.1.1 设置代理
Charles 菜单栏 → Proxy → Proxy Settings 端口:8888,根据实际情况可修改 Support HTTP/2 和 Enable reansparent HTPP proxying:√
3.2.1.2 安装证书
Charles 菜单栏 → Help→ SSL Proxying → Install Charles Root Certificate
3.2.1 移动端配置
3.2.1.1 设置代理
首先确保移动设备和电脑在同一网络下,要不然没办法抓包 将自己的 Wifi 代理设置为手动,并填写主机名和端口号 主机名:Windows 终端使用 ipconfig 查看 | Charles 菜单栏 → Help → Local IP Address | Charles 菜单栏 → Help → SSL Proxying → Install Charles Root Certificate on a Mobile Device or Remote Browser 端口号:之前设置的端口号 8888
3.2.1.2 安装证书
Charles 菜单栏 → Help → SSL Proxying → Install Charles Root Certificate on a Mobile Device or Remote Browser 这个界面不仅可以看到上一步的需要的主机名,也可以看到手机下载证书的链接 在手机开启之前配置的代理情况下,用自带浏览器打开这个链接 chls.pro/ssl,然后下载安装即可 【注】部分 Android 手机安装证书可能会可能会存在问题,比如小米需要手动安装,可以自行百度方法,下面介绍小米手机手动安装的方式 首先下载证书文件到本地 Charles 菜单栏 → Help → SSL Proxying → Save Charles Root Certificate 然后传输到手机,下载到手机本地(记住下载的位置),然后在手机设置中找到 系统安全 → 从SD卡中安装,然后会弹出文件存储,找到下载的证书添加即可
3.3 解决乱码问题
Charles 菜单栏 → Proxy → SSL Proxying Settings
|