最近有需求测试app数据,但是在app中抓包的过程不是很友好,这里就写一下具体的抓包流程,网上也有相关教程,这里算是做个汇总总结,方便操作
首先我们需要四个软件:
Postern
Charles
BurpSuiteCommunity
夜神模拟器
Postern下载地址
https://soft.clbug.com/soft/postern/
https://www.malavida.com/en/soft/postern/android/
Charles下载地址和激活地址
下载地址
https://www.charlesproxy.com/latest-release/download.do
在线注册机地址
https://www.zzzmode.com/mytools/charles/
首先我们需要将charles的证书导出
这里需要使用kali对证书进行修改
openssl x509 -subject_hash_old -in ceshi.pem
这里生成了51f503bc
名称改为51f503bc.0
我使用的是夜神模拟器,使用adb链接模拟器
.\adb.exe connect 127.0.0.1:62001
输入如下命令,可以将证书导入到手机中
adb push .\51f503bc.0 /data/local/tmp/
adb shell
id //这里要注意,一定是要root权限,及uid=0
mount -o rw,remount -t auto /system
cp /data/local/tmp/51f503bc.0 /system/etc/security/cacerts
chmod 777 /system/etc/security/cacerts/51f503bc.0
reboot
如果第四步报错mount: '/system' not in /proc/mounts则使用如下命令:
mount -o rw,remount -t auto /
手机系统中这里可以看到证书导入成功 XK72 Ltd
然后进入Charles中设置代理服务器
proxy - proxy settings
选择socks proxy模式
取消勾选windows proxy
proxy-ssl proxy settings
之后在Postern中添加代理服务器地址端口
在Postern中设置代理类型
在手机模拟器右上角上出现小钥匙图标,证明代理已经开启,进入对应app即可看到成功抓包
使用charles分析其实不是很方便,还是bp比较好用,所以这里将数据转发选择
External Proxy Settings
然后按照下图进行设置
然后导出证书
最后在bp中添加对应证书,即可