为什么使用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
环境
pixel2 v10(已root)
Magisk v23.0
Charles v4.6.2
Drony v1.3.154
Charles配置
Charles环境要求
- JDK
- 启用超级管理员
- 关闭防火墙
下载
Charles下载地址:https://www.charlesproxy.com/download/
安装
下一步->下一步即可
安装成功打开激活
注册码生成地址:https://www.zzzmode.com/mytools/charles/
激活Charles
在Help->Registered输入key和生成的激活码即可
设置代理
点击Porxy Settings
注意:此时Windows Proxy是去掉对勾的,表示不抓PC端。
设置监听端口
配置SSL代理
点击SSL Proxying Settings
添加代理,*.*
即可
到现在为止,Clarles就设置完毕
到此为止,Charles配置就算完成了,但是只能抓http的包,对https抓包的时候会发现,很多都是红色x号?如果要抓https,是需要继续配置证书的!!!配置证书
保存证书到指定位置
点击Save Charles Root Certi…
选择一个路径保存
证书推送到手机上
将保存的证书推送到手机上adb push C:\Users\Ti\Downloads\1.pem /sdcard/1.pem
成功推送到手机上
手机端安装证书
点击从存储设备安装证书
点击证书,安装
证书名字随便写
安装好之后是可以在信任的凭据中看到的
查看用户证书
证书存放目录
系统证书路径 /etc/security/cacerts
用户证书路径 /data/misc/user/0/cacerts-added
虽然此时证书已经安装完成,但是可能对APP抓https还是失败的。
因为Android7以后,只信任系统证书,所以还需要将用户证书移动成系统证书。
移动证书
这里使用Magisk的Move Certificates模块来安装证书
直接安装即可
然后重启手机,就会发现证书移动成功。
某狗抓包
到现在为止还没用上drony,但是charles和证书都已经配置好了,对没有wifi代理检测的app是可以适用的!这里以某狗为例!
设置代理
设置wifi代理,填写正确的ip和端口,ip是电脑ip,端口上面配置过!
登录抓包
某物抓包
还是使用上面配置wifi代理的方式来进行对某物抓包!
通过对抓的包研究发现,会找不到任何关于13苹果的信息和商品列表!!!
这什么情况?
这种情况水平人家可能是对wifi代理使用检测的!
不走代理,这样不就抓不到包了!
配置Drony
PS:如果打算使用drony的话,wifi代理就可以关了,wifi代理能干的事,drony都能干!
首先要安装drony,这就不用多说了吧!
安装完成之后,往左划一下进入设置,然后点击不是无线网络…
配置ip和端口
配置过滤器
配置规则(添加要抓包的app)
然后点击规则
点击右上角+号
添加一个app,行为是允许所有,然后点击右上角保存!
这样就出现在规则列表中了,并且只会抓这一个app的包。
如果需要抓其他app,继续添加app即可!
启动drony
都配置完成后,回到主页面,点击:开,就可以对指定app进行转发了!
某物抓包2
如上都配置好之后再次抓包,就会发现多了很多数据包,并且找一下找到了想要的包和数据
总结
要是来说的话,使用charles+drony方式之后,其他什么方式都可以不用考虑了,这算是最靠谱的方案。