macOS 上的 Charles 使用配置

    技术2022-07-16  106

    文章目录

    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