macOS 上的 Charles 使用配置

    技术2022-07-16  94

    文章目录

    1. Charles 简介2. Charles 工作原理3. 组件介绍4. macOS 代理设置5. iPhone 手机代理设置6. macOS 抓取 HTTPS 报文6.1 配置 HTTPS 代理6.2 证书配置 7. 抓取 iPhone 手机的 HTTPS 报文参考资料

    1. Charles 简介

    Charles 中文名为青花瓷,它通过HTTP代理/ HTTP监视器/反向代理,使开发人员可以查看其计算机与Internet之间的所有HTTP和SSL / HTTPS通信。这包括请求,响应和HTTP标头(其中包含cookie和缓存信息),以达到分析抓包的目的。

    主要功能:

    支持 HTTP 和 HTTPS 代理支持流量控制,模拟弱网环境支持接口并发请求支持重发网络请求支持断点调试

    2. Charles 工作原理

    Charles 是通过成为客户端的代理服务器来进行抓包分析,如下图所示: 因此,我们先要在代理服务器上运行 Charles 并配置代理,然后再在客户端上面配置代理,就能完成 Charles 的基本配置。这里的代理服务器,通常就是我们使用的电脑。

    3. 组件介绍

    主导航栏的按钮功能介绍如下:

    左侧请求导航栏的作用如下,主要是按域名显示抓取到的数据包列表。

    4. macOS 代理设置

     -> 系统偏好设置 -> 网络 -> 高级 -> 代理,然后可以进入到如下图所示页面,最后勾选网页代理(HTTP)和安全网页代理(HTTPS),并对应填入代理服务器的IP地址和端口号即可。 注意:

    配置时,两个选项(HTTP 和 HTTPS)都要分别填写对应的代理服务器信息,即需要 Copy 过去。如果是代理服务器和客户端是同一台电脑,则可以通过运行 Charles -> Proxy -> macOS Proxy 的方式完成代理的设置。

    5. iPhone 手机代理设置

    首先,我们得知道代理服务器的 IP 地址,我们可以使用下面两种办法:

    方法一:Terminal -> 输入命令 ip config 查看方法二:Charles -> Help -> Local IP Adress

    接着,我们需要在手机中进行如下配置:

    在手机中选择 “设置” -> “无线局域网”点击已连接的无线网络名称在 HTTP 代理中点击“配置代理”选择 “手动”, 输入代理服务器的 IP 地址和端口号

    6. macOS 抓取 HTTPS 报文

    在没有进行任何配置的情况下,我们抓到的 HTTPS 报文都是乱码。对此,我们需要以下经过两大步配置。

    6.1 配置 HTTPS 代理

    首先,我们得配置 HTTPS 代理:

    打开Charles -> Proxy -> SSL Proxying Settings在 SSL Proxying 选项卡中勾选 “Enable SSL Proxying”添加监听的 IP 地址,这里用通配符 * 表示所有的 IP 地址

    最后还要要点击 OK 进行保存,这里的 443 是 HTTPS 协议占用的端口号。

    6.2 证书配置

    配置完代理之后,还要进行证书的配置,步骤如下:

    打开 Charles -> Help -> SSL Proxying -> Install Charles Root Certificate 在证书列表里,打开名为 “Charles Proxy CA” 的证书(带红×)“使用此证书时” 选项卡选择 “始终信任” -> 输入密码确认(参考下图)

    完成这些操作之后,你抓取的 HTTPS 报文就能正常显示了。

    7. 抓取 iPhone 手机的 HTTPS 报文

    Charles -> Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser 在 iPhone 手机上配置代理,方法参考上文 5. 在 iPhone 手机 Safari 浏览器输入 ''chls.pro/ssl" 下载证书 (网址由上图显示的地址决定)安装下载的证书,需要输入密码(如果找不到下载好的证书,可以去设置里面看看) 设置 -> 通用 -> 关于本机 -> 证书信任设置,设置成如下图所示。

    至此就完成了 iPhone 手机 HTTPS 的配置,你可以尝试在手机中打开浏览器访问某个网址,就可以在 Charles 中看到抓取的包了。

    参考资料

    https://www.bilibili.com/video/BV1mQ4y1N7dn
    Processed: 0.020, SQL: 9