android开发将charles证书安装到安卓系统根目录实现https抓包

1. 安装charles,然后先将charles证书到电脑端

  • 1.下载地址:https://www.charlesproxy.com/
  • 2.安装证书到电脑端先:点击Help -> SSL Proxying -> Install Charles Root Certificate -> 安装证书... -> 本地计算机 -> 下一步 -> 直到完成即可
  • android开发将charles证书安装到安卓系统根目录实现https抓包_android手机

2. 启动和设置代理端口

  • 1.代理设置:Proxy -> Proxy Settings ,启用代理端口,http默认端口8888,确认勾选启用

android开发将charles证书安装到安卓系统根目录实现https抓包_抓包_02

  • 2.SSL代理设置:Proxy -> SSL Proxying Settings

android开发将charles证书安装到安卓系统根目录实现https抓包_抓包_03

3. Window抓包

  • 1.打开和关闭Window抓包:Proxy -> Windows Proxy ,点击一下打开,再点击一下关闭

4. android手机抓包

  • 1.android手机安装Charles证书

android开发将charles证书安装到安卓系统根目录实现https抓包_SSL_04

  • 2.android手机网络设置代理,代理ip和端口为上面的截图,ip:192.168.137.1,端口:8888
  • 3.打开手机浏览器,输入地址:chls.pro/ssl 下载证书,下载完成后点击安装证书,不过此时是安装在用户区,一些https抓包不到
  • 4.此时手机就可以正常抓包了

5. android高版本实现https抓包

  • 1.手机要保证root了,要有root权限才能操作
  • 2.保存charles证书为charles.pem文件

android开发将charles证书安装到安卓系统根目录实现https抓包_android手机_05

  • 2.使用openssl命令计算charles.pem文件的hash值,如果找不到openssl命令就先安装一个openssl软件
  • 3.上一步计算得到hasg值为e8c698d2,然后将charles.pem文件重命名为e8c698d2.0,因为android系统目录的证书名称规则就是这样的所以这样搞
  • 4.安装charles证书到安卓系统根目录/system/etc/security/cacerts/
  • 5.这样就生效了,可以实现https抓包了,连手机重启都不用,当然手机重启了还是生效的