安卓手机抓包配置

抓包软件

mac

proxyman(免费)、charles(收费)

windows

fiddler(免费)、charles(收费)

抓取HTTPS请求

问题

Android 7 以上,app只信用系统级别的证书。而fidder、charles生成的证书默认都是用户级别的证书,所以无法抓取https请求。

解决方法

更多参考

某些app无法抓包问题

android安装证书到系统 安卓系统安装证书

获取安卓手机的root权限

参考 《安卓magisk刷root权限》

将用户证书放到系统证书目录下

修改证书名称

系统证书目录:/system/etc/security/cacerts/

其中的每个证书的命名规则如下: . 文件名是一个Hash值,而后缀是一个数字。

文件名可以用下面的命令计算出来: openssl x509 -subject_hash_old -in 后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1

#PEM或者DER格式均可

#如果是PEM格式:
In: openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.pem -noout
out: c8750f0d

# 如果是DER格式:
In: openssl x509 -inform PEM -subject_hash_old -in mitmproxy-ca-cert.cer -noout
out: c8750f0d
openssl安装

Openssl安装(仅win10超详细)--超快捷

复制证书到设备上
#获取手机的root权限
adb shell
su

#挂载系统目录为可写
mount -o rw,remount /
mv /sdcard/c8750f0d.0 /system/etc/security/cacerts

#修改证书权限
chmod 644 /system/etc/security/cacerts/c8750f0d.0

本文由 mdnice 多平台发布

你可能感兴趣的:(后端)