Mac 下 android/iOS https抓包

Posted 数据科学工作加油站

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的代理

技术分享

三.破解

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

这里我已经下载好了

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

技术分享

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

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

四.HTTP抓包

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

技术分享

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

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

技术分享

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

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

技术分享

五.HTTPS抓包

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

1. 给Mac安装证书

技术分享

打开证书,信任证书

2. 给手机安装证书

打开Charles

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

技术分享

点击后,弹出对话框

技术分享

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

技术分享

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

3.开启SSL代理功能

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

技术分享

点击OK

技术分享

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

技术分享

 
 

以上是关于Mac 下 android/iOS https抓包的主要内容,如果未能解决你的问题,请参考以下文章

iOS系统网络抓包方法

Mac+Charles+Android+Https 抓包

iOS安全攻防之使用 Charles 进行网络数据抓包

如何使用charles对Android Https进行抓包

HTTPS 抓包原理以及 Android 端如何防止抓包

Charles进行HTTPS抓包(iOS为例)