有测试问题请微信联系作者,备注来意(点击此处添加)
240
一名普通的测试打工人;专注自动化测试技术研究、实践、总结、分享、交流。
用我8年+的经历,给大家带来更多实用的干货。
人若有志,就不会在半坡停止。

【基础】MacOS上配置 Charles

一、Charles 简介

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

主要功能:

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

二、Charles 工作原理

Charles 是通过成为客户端的代理服务器来进行抓包分析,如下图所示:

因此,我们先要在代理服务器上运行 Charles 并配置代理,然后再在客户端上面配置代理,就能完成 Charles 的基本配置。这里的代理服务器,通常就是我们使用的电脑。

三、组件介绍

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

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

四、macOS 代理设置

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

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

PS:在不使用 Charles 之后记得将上面的代理设置关掉,否则可能会导致电脑上不了网!

五、iPhone 手机代理设置

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

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

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

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

六、macOS 抓取 HTTPS 报文

在没有进行任何配置的情况下,我们抓到的 HTTPS 报文都无法正常显示 。对此,我们需要以下经过两大步配置。

1.配置 HTTPS 代理

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

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

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

2.证书配置

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

  1. 打开 Charles -> Help -> SSL Proxying -> Install Charles Root Certificate

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

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

七、抓取 iOS 模拟器的 HTTPS 报文

  1. 打开 Charles -> Help -> SSL Proxying -> Install Charles Root Certificate in iOS Simulators,给 iOS 模拟器安装证书。

  1. 然后在 iOS 模拟器中,打开 Setting -> General -> About -> Certificate Trust Settings,进行证书的信任。

  1. 参考 6.macOS 抓取 HTTPS 报文 部分内容,对 mac 电脑进行配置

  2. 打开模拟器的 Safari 浏览器,在地址栏输入 chls.pro/ssl,下载描述文件。一般访问该网址后会有弹窗提示,点击同意下载就好。

  3. 在模拟器中,打开 Settings -> General -> Profile,安装 Charles 的描述文件,完成后就能正常抓取 iOS 模拟器上的 HTTPS 报文了。

八、抓取 iPhone 手机的 HTTPS 报文

我们首先也得对 Charles 进行如同 6.1 的 HTTPS 代理配置,然后再进行如下步骤:

  1. Charles -> Help -> SSL Proxying -> Install Charles Root Certificate on a Mobile Device or Remote Browser

  1. 在 iPhone 手机上配置代理,方法参考上文5.iPhone 手机代理设置

  1. 在 iPhone 手机 Safari 浏览器输入 ''chls.pro/ssl" 下载证书 (网址由上图显示的地址决定)
  2. 安装下载的证书,需要输入密码(如果找不到下载好的证书,可以去设置里面看看)

  1. 设置 -> 通用 -> 关于本机 -> 证书信任设置,设置成如下图所示。

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

posted @ 2022-04-07 23:57  三叔测试笔记  阅读(1156)  评论(0编辑  收藏  举报
返回顶部 跳转底部