Charles+Postern抓包
本教程仅用于学习,任何人不得利用技术进行违法违规操作,阅读则同意约定
为什么要说使用Charles+Postern
在实际抓手机App包场景中,有很多种方案,经典的就是Fiddler,但是Fiddler会有一个问题,如果App设置了不走代理这个选项,那Fiddler就不行了
为什么Charles+Postern可以呢?
是因为Charles就没有直接监听到App,Charles是监听到了Postern上,Postern就是一个vpn,所以App设置不走代理也没用,Postern照样能监听到,然后Postern再转发到Charles上,这样就完成了抓包
但是双向验证除外,双向验证Charles需要添加证书,后面再说
当然,还有更好的方案,r0capture hook抓包了解一下?
我的环境
pixel 2 Android 8版本(已root)
Magisk 23.0版本
Xposed 3.1.5版本
Charles配置
Charles环境要求
下载
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就设置完毕
Postern
Postern简介
Postern并不是抓包工具,他是一个代理工具
它可以将http请求转为socket,并且包转发到Charles上,这样就可以抓到更多的包
配置代理规则
添加代理服务器
留下一个选项就行,其他的删掉即可
配置规则
添加规则
打开/关闭Postern
如果Charles有提示出东西,一定要点击Allow
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m1iS6GUQ-1636542545949)(Charles+Postern抓包.assets/17.png)]
然后就可以愉快的抓包了
但是此时只能抓http的包,要想抓hppts的包,还需要设置证书才行
配置证书
保存证书到指定位置
点击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 模块来安装证书
直接安装即可
然后重启手机,你就会发现证书移动成功
现在,到现在就配置成功了,打开Postern,就可以开心的抓https啦
Charles和Fiddler的比较
Fiddler虽然也可以完成对手机的抓包,但是如果App设置了不走代理,那Fiddler就失败了
并且Fiddler需要修改手动wifi的代理,但是Charles就不需要,只需要配置好Postern和Charles的连接就好,并且可以对绝大部分的App进行抓包,不使用代理时,直接关闭Postern即可
总结
目前来说,Fiddler和Charles都是很流行的,但是相对来说,还是Charles+Postern适用范围更广一些,并且数据更好看一点
仁者见智呗
如果在操作过程中有任何问题,记得下面留言,我们看到会第一时间解决问题。
越努力,越幸运。
我是码农星期八,如果觉得还不错,记得动手点赞一下哈。
感谢你的观看。
|