小米6使用Charles进行HTTPS抓包

在Mac上使用Charles进行手机的HTTPS抓包

1. 小米篇

1.1 环境

  • MacOS 10.13.3
  • Charles 4.0.2
  • 小米6 Android7.1.1 MIUI9.2

1.2 在Mac上安装好Charles的https证书

  • 打开Charles,Help->SSL Proxying->Install Charles Root Certificate
  • 输入系统密码进行授权
  • 在“钥匙串访问”中找到Charles的证书

  • 双击Charles的证书,全部选择始终信任

  • 至此,Mac端根证书安装完毕

1.3 在小米6上安装https证书

  • 小米6和Mac连上同一个WiFi,然后小米6连上Mac的代理。小米6如何连代理?
  • 打开Charles,Help->SSL Proxying->Install Charles Root Certificate on a Mobile Device or Remote Browser
  • 按照弹窗的提示进行操作,小米6的代理已经开了,用小米6手机浏览器打开chls.pro/ssl下载证书,默认会保存到MIUI的系统下载目录(Download)
  • 下载好之后通知栏会有一个提示,直接点击这个通知是安装不了的,会提示安装失败,这是MIUI系统的限制。你可以打开系统文件浏览器,找到Download文件夹,然后找到证书文件getssl.crt
  • 点击证书文件,系统会提示你输入锁屏密码,(如果没有设置锁屏密码,可能会引导你到设置锁屏密码的页面,设置好之后再重来一次就行了)输入之后开始导入证书。先给证书命个名,比如叫Charles,凭据用途默认VPN和应用,点击确定,系统会提示你已安装Charles
  • 小米6上安装https证书成功!

1.4 使用Charles进行https抓包

前戏已经做完了,该办正事儿了。

  1. 小米6连上Mac代理,打开Charles(再啰嗦一下下 0_-)
  2. 随便打开一个App,比如小米系统浏览器,肯定有一堆请求,盯着Charles的请求监控面板,可以看到有很多的请求,随便选择一个https请求,可以看到,https请求已经可以抓包了

2. 后记

  1. 如果有任何问题,欢迎在我的博客留言,或者在博客的github仓库中提issue
  2. Android手机厂商很多,各个型号手机的设置方法可能不尽相同,而且就算是同一个厂商的手机,不同系统版本间也可能有差异,而且就算是同一个系统版本,不同型号手机(比如小米和红米)间也可能有差异,这里点名一下小米,+_+
  3. 我会慢慢更新这篇文章,尽可能多覆盖各种情况
  4. 未完待续……

2.1 小米手机如何连代理?

  • 首先找到Mac的局域网ip,在终端上ifconfig en0,inet后面的就是本机ip
  • 打开小米6,设置->WLAN->点击已连接的WiFi右边的箭头->滑到最下面,选择代理手动->输入主机名,主机名就是上面Mac的ip->输入端口号8888->点击右上角的确定
  • 小米6代理设置完毕

你可能感兴趣的:(杂谈)