Charles

为什么使用Charles+Drony来抓包?

在对app进行抓包时,其实用什么方案并不是唯一的,有Fiddler,也有Charles的,也有所说的这种方式,Charles+VPN的方式(这里的vpn指的是像Drony来进行转发的一类app)
方式并不是唯一的,适合的就是最好的!
之所以采用Charles+VPN方式,是因为现在的app很大可能会进行wifi代理检测!
而vpn转发请求和wifi代理检测没关系,所以并不太会受影响,所以现在这种方式越来越多!
当然,除了wifi代理检测,还有vpn转发检测,还有证书校验等,但是现在遇到最多的还是wifi代理检测!

工具下载

链接:https://pan.baidu.com/s/1TYelBGxO5n0sqVidN48djg
提取码:5c5u
Charles drony抓包 - 图1

环境

pixel2 v10(已root)
Magisk v23.0
Charles v4.6.2
Drony v1.3.154

Charles配置

Charles环境要求

  • JDK
  • 启用超级管理员
  • 关闭防火墙

    下载

    Charles下载地址:https://www.charlesproxy.com/download/
    Charles drony抓包 - 图2

    安装

    下一步->下一步即可
    安装成功打开

    激活

    注册码生成地址:https://www.zzzmode.com/mytools/charles/
    Charles drony抓包 - 图3
    激活Charles
    在Help->Registered输入key和生成的激活码即可
    Charles drony抓包 - 图4

    设置代理

    点击Porxy Settings
    注意:此时Windows Proxy是去掉对勾的,表示不抓PC端。
    Charles drony抓包 - 图5
    设置监听端口
    Charles drony抓包 - 图6

    配置SSL代理

    点击SSL Proxying Settings
    Charles drony抓包 - 图7
    添加代理,*.*即可
    Charles drony抓包 - 图8
    到现在为止,Clarles就设置完毕
    到此为止,Charles配置就算完成了,但是只能抓http的包,对https抓包的时候会发现,很多都是红色x号?如果要抓https,是需要继续配置证书的!!!

    配置证书

    保存证书到指定位置

    点击Save Charles Root Certi…
    Charles drony抓包 - 图9
    选择一个路径保存
    Charles drony抓包 - 图10

    证书推送到手机上

    将保存的证书推送到手机上
    1. adb push C:\Users\Ti\Downloads\1.pem /sdcard/1.pem
    Charles drony抓包 - 图11
    成功推送到手机上
    Charles drony抓包 - 图12

    手机端安装证书

    点击从存储设备安装证书
    Charles drony抓包 - 图13
    点击证书,安装
    Charles drony抓包 - 图14
    证书名字随便写
    Charles drony抓包 - 图15
    安装好之后是可以在信任的凭据中看到的
    Charles drony抓包 - 图16
    查看用户证书
    Charles drony抓包 - 图17

    证书存放目录

    系统证书路径 /etc/security/cacerts
    用户证书路径 /data/misc/user/0/cacerts-added

虽然此时证书已经安装完成,但是可能对APP抓https还是失败的。
因为Android7以后,只信任系统证书,所以还需要将用户证书移动成系统证书。

移动证书

这里使用Magisk的Move Certificates模块来安装证书
直接安装即可
Charles drony抓包 - 图18
然后重启手机,就会发现证书移动成功。

某狗抓包

到现在为止还没用上drony,但是charles和证书都已经配置好了,对没有wifi代理检测的app是可以适用的!这里以某狗为例!

设置代理

设置wifi代理,填写正确的ip和端口,ip是电脑ip,端口上面配置过!
Charles drony抓包 - 图19

登录抓包

Charles drony抓包 - 图20
这样,就成功地抓出来登录的包了!

某物抓包

还是使用上面配置wifi代理的方式来进行对某物抓包!
Charles drony抓包 - 图21
通过对抓的包研究发现,会找不到任何关于13苹果的信息和商品列表!!!
这什么情况?
这种情况水平人家可能是对wifi代理使用检测的!
不走代理,这样不就抓不到包了!

配置Drony

PS:如果打算使用drony的话,wifi代理就可以关了,wifi代理能干的事,drony都能干!
首先要安装drony,这就不用多说了吧!
安装完成之后,往左划一下进入设置,然后点击不是无线网络…
Charles drony抓包 - 图22

配置ip和端口

先设置主机名端口,和wifi代理配置的是一样的
Charles drony抓包 - 图23

配置过滤器

然后继续往下滑,滑到过滤器,选择这个引导全部
Charles drony抓包 - 图24

配置规则(添加要抓包的app)

然后点击规则
Charles drony抓包 - 图25
点击右上角+号
Charles drony抓包 - 图26
添加一个app,行为是允许所有,然后点击右上角保存!
Charles drony抓包 - 图27
这样就出现在规则列表中了,并且只会抓这一个app的包。
Charles drony抓包 - 图28
如果需要抓其他app,继续添加app即可!

启动drony

都配置完成后,回到主页面,点击:开,就可以对指定app进行转发了!
Charles drony抓包 - 图29

某物抓包2

如上都配置好之后再次抓包,就会发现多了很多数据包,并且找一下找到了想要的包和数据
Charles drony抓包 - 图30

总结

要是来说的话,使用charles+drony方式之后,其他什么方式都可以不用考虑了,这算是最靠谱的方案。