安卓7.0以上设备网络抓包笔记
fiddler是位于客户端和服务器端之间的代理,也是目前最常用的抓包工具之一
fiddler下载地址: https://www.telerik.com/download/fiddler
常规https抓包
常规抓https包准备步骤:
- 下载抓包证书
- 手机Wifi设置代理
- 手机导入抓包证书
安卓7.0以后https抓包
证书抓包方式,安卓7.0以后证书分为系统证书和用户证书,
- 对于允许用户证书的应用,可以采用常规方式抓包
- 对于只允许系统证书的应用,需要如下操作
不允许用户证书的抓包
不允许用户证书的抓包一般会想到两种方式改成可抓包
修改APP用户证书许可
既然不允许用户证书,我们就修改APP,使APP允许用户证书, 一般来说修改安卓Manifest如下:
1 | <application android:networkSecurityConfig="@xml/network_security_config"/> |
修改network_security_config.xml修改如下:
1 |
|
当然修改已存在的app,将涉及到反编译,回编,签名等步骤
Root用户添加系统证书
第二种方式是修改系统文件,把fiddler证书变成系统证书
下载抓包证书(常规抓包也需要这个)如:FiddlerRoot.cer
转换成pem格式:
1
openssl x509 -inform DER -in FiddlerRoot.cer -out cacert.pem
获取新的证书HASH值(命令输出第一行会显示文件hash,如:e5c3944b):
1
openssl x509 -inform PEM -subject_hash_old -in cacert.pem
把pem证书文件用hash命名如(e5c3944b.pem)
把新证书拷贝到系统证书目录(需root):/etc/security/cacerts/
文件权限改成664,重启手机即可
一般情况下经过这些修改,就可以正常进行https抓包了