Mac 下 android/iOS https抓包

一.Charles简介

Charles,是用Java开发的,所以跨平台,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,但目前是收费的。

二.下载

官网下载地址:https://www.charlesproxy.com/download/ 
有相对应的Mac版本、Linux版本及Window版本

下载到安装我就不啰嗦了!

我下载的是当前最新版本:4.0.2版本的(2017年3月3日)

Mac 下 android/iOS  https抓包

默认情况下是连接你的mac的代理

Mac 下 android/iOS  https抓包

三.破解

由于Charles是收费的,我们需要破解它,可以在网上直接搜索:Charles4.0.2破解的jar文件。

这里我已经下载好了

破解文件:http://download.csdn.net/detail/u014005316/9769617

Mac 下 android/iOS  https抓包

直接把charles.jar替换,重新打开Charles即可,就不会提示试用期30天了。

由于我们主要做App开发,我们需要抓取移动设备上app的包

四.HTTP抓包

  • 打开Charles程序
  • 查看Mac电脑的IP地址,系统偏好设置->网络就可以查看到了,比如我的ip地址是:192.168.0.110
  • 打开手机上的wifi连接

Mac 下 android/iOS  https抓包

代理设置改成手动,输入主机名:192.168.0.110(我mac的ip地址),端口:8888

打开Charles,点击Proxy,选择Proxy Settings,输入端口号:8888

Mac 下 android/iOS  https抓包

OK,就可以进行http抓包啦!

这是我的手机上一款http请求的app

Mac 下 android/iOS  https抓包

五.HTTPS抓包

https抓包相对来说,稍微麻烦一点

1. 给Mac安装证书

Mac 下 android/iOS  https抓包

打开证书,信任证书

2. 给手机安装证书

打开Charles

在Menu选择Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser

Mac 下 android/iOS  https抓包

点击后,弹出对话框

Mac 下 android/iOS  https抓包

在手机浏览器上输入:chls.pro/ssl(可能不一样,以上图弹出的对话框为准)

Mac 下 android/iOS  https抓包

随便输入一个证书名称,点击确定!

3.开启SSL代理功能

在Menu选择Proxy->SSL Proxying Setting,选中Enable SSL Proxying,在Locations里面添加要使用SSL代理的网站,如果需要匹配所有的HTTPS网站则输入 * 号即可。现在即可拦截Https的数据包。port: 443 抓取HTTPS

Mac 下 android/iOS  https抓包

点击OK

Mac 下 android/iOS  https抓包

ok,可以进行https抓包啦!我以掘金App为例来抓包

Mac 下 android/iOS  https抓包

 
 问题1:  iOS手机, https 协议下抓包unknown解决方案:
 手机--通用--关于本机--证书信任设置- 勾选 Charles Proxy CA
 
上一篇:解决IE apk变成zip:Android 手机应用程序文件下载服务器 配置解决方法


下一篇:【原创翻译】The Free Lunch Is Over