使用 Charles

Charles 是 Mac 上面经常也是比较好用的抓包工具.

今天跟大家分享一下 Charles 使用的两个点:

  • HTTPS 请求.
  • 模拟网络.

工具和系统

iPhone: iOS 10.3.
Mac OS: 10.12.5.
Charles: 4.0.2.

抓取 HTTPS 请求

Mac 安装证书

打开 Charles, 在 Help 选项中选择 SSL Proxying, 如下图所示:

1

Mac 信任证书

打开 Keychain Access (钥匙串), 找到刚才安装的证书, 信任证书, 如图:

1

给 iPhone 安装证书

打开 Charles, 在 Help 选项中选择 SSL Proxying, 操作如图

1

在弹出的对话框中, 可以看到 chls.pro/ssl

1

手机设置代理, 连接 Charles

一定要记住: 手机一定要设置代理, 否则安装证书会失败.

打开手机的 Safari 浏览器, 输入 chls.pro/ssl 这个地址.

1

设置信任证书, 如下图:

1

1

模拟任意网络

Charles 给我们提供了可以模拟任何网速的网络环境的条件.

1

打开 Throttle Settings, 然后 Enable Throttling

1

可以看到很多类型的网络供你选择.

Add Preset 可以自己自定义一个网络环境.

这个功能非常实用, 可以让我们模拟慢网络环境, 更好地调试自己的程序.

遇到麻烦

如果你上面的设置都没有问题, 然而在真正抓取 HTTPS 的请求出现如下错误:

SSLHandshake: Received fatal alert: unknown_ca
Charles Proxy will even offer a helpful suggestion:
You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

1

请在关于本机里面再设置一次 证书信任设置, 即可.

1

坚持原创技术分享,您的支持将鼓励我继续创作!