在MacOs环境下使用Charles抓取Android、Ios的

2020-07-15  本文已影响0人  S_jie

Charles下载和破解:

官网链接
破解链接
Charles是java代码写的通过代理方式获取请求的抓包软件,破解也很简单,通过更改Chrales配置文件的chrales.jra包就能完成破解:
1.打开破解链接
2.选择你下载Charles版本号
3.填写任意名称都可以
4.点击下载
5.下载完成以后就是一个Charles.jar的文件
6.Mac打开访达

7.Charles破解完成

MacOs配置:

打开Charles选择Proxy - MacOs proxy并勾选


image.png

再选择Help - SSL Proxying - install Charles Root Certificate下载证书到电脑本地


image.png

下载完成证书以后信任该证书


image.png

证书信任完成以后就能抓取本地网页的http、https请求了。以百度为例


image.png

Android配置

Android7.0版本以上google已经不信任其他证书了。方法有两种
1.如果是root手机直接把charles证书信任成系统证书。
第一种方法看这里
2.如果手机没有root就需要在手机端配置证书,然后还要在app里信任CA证书
3.app代码内增加信任CA证书

<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <!--  信任系统预置CA 证书  -->
            <certificates src="system" />
            <!--  信任用户添加的 CA 证书,Charles 和 Fiddler 抓包工具安装的证书属于此类  -->
            <certificates src="user" />
        </trust-anchors>
    </base-config>
</network-security-config>

4.手机端下载Charles证书并安装
首先打开Charles选择Help - SSL Proxying - Save Charles Root Certificate...


image.png

下载完成的证书更新下名称,简短一点的那种,不换名称也行。我更名为:charles-ssl.pem

5.Charles选择Proxy - SSL Proxying Settings... 打开配置


image.png

6.Chrales选择Help - SSL Proxying - install Charles Root Certificate on a Mobile Device or Remote Browser


image.png

ios配置

ios配置就简单很多了。安装证书,然后信任证书轻松搞定
首先打开ios手机配置手动代理,和上面android的配置步骤一致。

=======================分割线====================

模拟器

最近试了一下模拟器抓包发现并没有像上面第一种方法那样需要把用户证书改名放到系统证书里。咋也不知道是不是因为模拟器和真机不一样的原因,开启root权限安装证书直接就能抓取https了。
1.下载夜神模拟器:可以自行百度夜神模拟器不想百度的可以点击跳转https://www.yeshen.com/
2.下载charles证书,下载后会在电脑里,然后使用adb命令push到手机目录

下载charles手机证书
首先链接模拟器adb connect 127.0.0.1:62001
夜神模拟器的端口规律: 第一个模拟器端口是62001,第二个模拟器端口是62025,第三个是62025+1,依此类推。
如果删除了夜神模拟器后导致链接62001显示离线,这个时候就得先查看夜神模拟器在本地的端口号了,或者卸载重装。

然后把电脑证书push到手机上的sdcard/目录下我这里给charles的名称改名了。下载下来的太长了
adb push /xxx/xxx/Downloads/charles.pem sdcard/

3.在模拟器找到下载的证书 系统-wifi-右上角更多按钮-高级-安装证书


image.png

点击证书,没有设置过密码的会让你设置一个密码。然后输入证书名称点击确认就完成了。
这个时候就可以试试安装一个应用程序,抓包试试


image.png
大功告成
上一篇 下一篇

猜你喜欢

热点阅读