Mac青花瓷Charles抓包使用详解

Charles青花瓷是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。

青花瓷 v 4.6.2下载链接 点击下载 macOS (dmg, 54.3 MB)
Compatible with macOS 10.7 - 10.15

青花瓷注册码
Registered Name: https://zhile.io
License Key: 48891cf209c6d32bf4

打开charles–help–register charles 输入上面注册码,然后就可以使用了

使用步骤

一、安装Mac证书

Charles主界面 ->Help -> SSL Proxying ->Install Charles Root Certificate

然后在钥匙串找到 Charles Root Certificate 证书,我这边显示Charles Proxy CA ,然后系统默认是不信任Charles的证书的,此时右键证书->显示简介 -> 信任使用此证书时,把使用系统默认改为始终信任

二、安装客户端证书
  • 设置客户端网络ip地址

Charles主界面 ->Help -> SSL Proxying ->Install Charles Root Certificate Device or Remote Browser

只要手机和电脑链接的同一个网络就行,然后在 设置 -> 无线局域网 -> 当前连接的无线 -> 配置代理 –> 手动 –> 在服务器中输入上面图片展示的IP地址 –> 端口添加8888 -> 点击右上角存储按钮。

备注: 如何有在Charles设置中修改过这个端口号,则上面这个端口号填写修改过后的没有修改过直接服务器ip和端口号填写你自己电脑点开上图上面的ip和端口。

也可以通过 cat /etc/resolv.conf 指令来查看ip 地址

1
2
3
4
5
6
7
8
9
10
11
12
13
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns

# SEE ALSO
# dns-sd(1), scutil(8)
# This file is automatically generated.

nameserver 172.16.200.161 你的ip地址
nameserver 114.114.114.114
  • 下载移动端证书

    1、确保Mac上的Charles软件是打开状态。

    2、打开苹果自带的safari浏览器输入 http://charlesproxy.com/getssl 或者http://chls.pro/ssl然后回车,会出现提示 此网站正尝试下载一个配置描述文件。您要允许?点击下载按钮。

    如果出现以下问题:

    Q1: safari输入出现 ,Charles SSL CA Certificate installation
    Your browser should download and offer to install the Charles SSL CA Certificate in just a moment. If this doesn’t work, please check that your OS, or browser, is configured to use Charles as its proxy.
    w1: 请看一下你手机所连接网络是否跳网,不是和电脑所在同一个网络。

    Q2: 如何上面你都试过了还是不行。

    w1:请直接safari浏览器输入https://www.charlesproxy.com/documentation/additional/legacy-ssl-proxying/ 然后点击 itself here(for instaling on mobile devices)下载下来。

  • 安装手机端的证书
    1、然后点击设置 -> 通用 -> 描述文件 ->选中 Charles Proxy SSL Proxying按照要求进行安装就可以了。

    2、然后信任证书,点击设置 -> 关于 -> 证书信任设置 在针对根证书启用完全信任勾上,Charles proxy SSL Proxying。

三、Mac端Charles中的设置
1、以上一系列设置过后,证书就安装完成。然后就是开始在Mac端 Charles 中开启macOS Proxy。

2、打开 ProxySettings开启 Enable transparent http proxying。

3、打开 SSL Proxying Settings,位置在Proxy->SSL Proxying Settings,然后在 Enable SSL Proxying 这个一定要勾上,然后在Location 添加*:*表示全部拦截。到这儿位置就全部设置完毕了。然后开始拦截请求数据吧!

最后开始尽情的享受不用找接口然后看到各个接口的数据的快乐吧
1、如果是客户端加证书请求的APP不可以抓包需要导入Client Certificaters才可以。
2、有些APP是加密了,需要了解解密方式,把抓出来的解密才可以看到数据。