mitmproxy 安卓模拟器/手机抓包教程(解决证书问题)

本文主要解决的是Android 模拟器/手机的抓包证书问题
也就是报“java.security.cert.CertPathValidatorException”错误的问题。

首先要启动 mitmproxy,三个版本任选。

  1. 打开 mitm.it。如果页面上只有一行大字“If you can see this, traffic is not passing through mitmproxy.”,说明你没有正确配置代理。先去 WiFi 设置里设置好代理地址。
  2. 然后找到 Android 下面的 Show Instructions,点击“this Magisk module”这个链接,下载下来一个压缩包
  3. 如果你的模拟器/手机已经刷了 Magisk,那么直接刷入这个 Magisk 模块即可,下面的就不用看了,到此结束。
  4. 如果没有刷 Magisk,打开刚刚下载的压缩包,找到/system/etc/security/cacerts/里面有一个 .0 文件,解压出来备用。
  5. 给手机/模拟器 root(部分模拟器还需要在设置里挂载 system 分区为可读写),把解压出来的 .0 文件放到 /system/etc/security/cacerts/ 目录下。
  6. 修改 .0 文件的权限,保持和目录里的其他 .0 文件的权限相同。
    (这一步不做似乎没什么影响)
  7. 重启
    (这一步不做好像也没什么影响)
  8. 去设置里看看系统证书是不是有 mitmproxy,如果有就对了,说明安装成功,接下来抓包就可以了。

如果你已经完成上述步骤而且反复检查无误,请确认是否有多台设备共享同一个 .0 文件的情况!

注意:这个 .0 文件不可以跨设备共享!!!每台设备的 .0 文件都不一样!!!
注意:这个 .0 文件不可以跨设备共享!!!每台设备的 .0 文件都不一样!!!
注意:这个 .0 文件不可以跨设备共享!!!每台设备的 .0 文件都不一样!!!

如果你要把 mitmproxy 脚本打包给别人用,一定要用在别人的机器上访问 mitm.it 下载得到的 .0 文件!否则依旧会抛异常!

参考链接:
Android安装Root证书 - 掘金
添加Fiddler/Mitmproxy证书为安卓系统证书 - 简书
mitmproxy 抓包安卓7以上,ca证书安装方法。安卓7到9 10-之后 (包含) - 掘金
System CA on Android Emulator

你可能感兴趣的:(android,安全)