Mac 配置 Charles https抓包保姆级教程

6,430 阅读3分钟

前言

相信有不少从 Windows 系统刚转到 Mac os 系统的人都有过一段或短或长的痛苦适应经历,简单地来说吧,做为一名移动开发人员,抓包分析数据是必备的技能之一。之前,博主在 windows 上使用的是 fiddler抓包,换到Mac,意外地发现同事使用的charles。自己偷偷一百度,发现charles真的是一大神器。不仅配置简单,数据mock,而且还能配置证书抓取 https 请求(前提是手机Android 6.0 以下系统)。今天主要是介绍如何配置 charless 本地证书抓包 https 请求。

Mac 配置过程

  1. Mac 本地安装 Charles Root certificate.
    install charles
  2. 此时电脑会下载一个证书,并且会弹出一个窗口,接下来你需要将该证书设置为信任。
    如上图所示,Charles Proxy..证书前面有一个红色的x,需要用户给予权限。
  3. 设置 Charles Proxy 证书信任。
    点击信任展示,点击使用此证书时:始终信任。
    当你看到 Charles Proxy 显示状态如上图,本地证书配置就大功告成了。

手机端配置。

  1. 确保手机和电脑连接同一wifi或者在同一局域网内。手机连接wifi,设置代理和端口。
    此时我们看到了host,上图百密一疏啊,状态栏还是显示了我的ip地址。不过没事了,你需要进入到手机设置=>wifi=>进入到连接的wifi地址设置代理=>手动=>然后将host后面所带的ip:172.16.9.41 输入,商品8888(这个可以设置的,也可以自己定义端口号)
    这个时候,电脑上 charles 会弹出一个提示框,大致意思就是是否允许接入,务必点击允许。否则后面的步骤你是无法进行下去的。
  2. 接着打开手机浏览器,往地址栏输入 chrl.pro/ssl 回车,正常情况浏览器会帮忙我们下载 charles 证书的,如果没有,请查看步骤一。
    这一步骤同样需要设置证书为信任。
  3. 上面都已经完成了,我们开始来验证一下我们的劳动成果吧。打开我们的手机需要抓包的应用,发起有效的网络请求,此时再查看 Mac charles 界面,我们发现请求是能抓到了,但总感觉哪里不对,看不到请求和结果啊。
    你看看,上面一个SSL,博主你个大骗子,根本抓不到 https 请求好不好。

客官,请不要生气。出现上面的问题,首先我要跟你确认两件事情,第一你手上的android系统是否是6.0以下。如果不是,那抱歉了,这个真的抓不到。文章一开头是有说明的。

如果是6.0以上的机子,并且以上所有的操作都确定无误,那请接着看,我们还需要最后一个关键的步骤没有配置。

  1. Mac Charles 设置 SSL Proxy。
    然后弹出 SSL Proxying 设置页面,具体操作如下,请按照图文提示即可:
  2. 此时,所有的配置工作已经完成,你再次发起请求,发现 https 请求我们是不是已经成功抓取了啊。