MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!

第一步要将手机与电脑连到同一个无线网 

  •  在这个无线网下查看电脑的ip(注意:换网络的时候,电脑的ip也会变哦)

                ifconfig | grep "inet " | grep -v 127.0.0.1

  • 查完主机的IP后,将手机的的无线网助理设置成主机IP,端口设置就是打开电脑端的charles查看一下setting-proxy settings-proxies 的port:

  • MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!
  • MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!
  • 关掉Charles中的电脑端的代理mac os x proxy 前的对号点掉

  • MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!

  • 然后就可以手机访问浏览器啦(注意:此时是http可以抓到,https是不可以的)手机端访问浏览器的时候电脑端会弹出一个窗口,选择allow

  • MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!

 第二步  

  • 想抓https需要在电脑端以及手机端都安装一个ssl 证书

  • 电脑端 打开Charles -help-ssl proxying-install Charles root Certificate

  • MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!
  • install后会弹出访问钥匙串的窗口,注意 查看Charles证书是否始终信任

  • MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!       MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!
  • 接下来是手机端证书(ssl)的安装 

       手机端的下载是进入电脑端的网址

MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!

MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!

 

用手机端的Chrome浏览器登录上文中的(chls.pro/ssl)最好是把网址复制到手机里,证书下载之后一般是在手机的download 文件夹里,将其push到电脑端 ,因为要改证书名字。
命令如下:
pull到电脑中
adb pull /storage/emulated/0/Download/charles-proxy-ssl-proxying-certificate.pem
获取证书的hash码
openssl x509 -subject_hash_old -in /Users/Judy/charles-proxy-ssl-proxying-certificate.pem

MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!

手机端系统证书目录要push到路径:/system/etc/security/cacerts/
其中的每个证书的命名规则如下:
<Certificate_Hash>.<Number>
文件名是一个Hash值,而后缀是一个数字。

后缀名的数字是为了防止文件名冲突的,比如如果两个证书算出的Hash值是一样的话,那么一个证书的后缀名数字可以设置成0,而另一个证书的后缀名数字可以设置成1

 

取那个码(蓝色光标选中的),将电脑中的证书重命名成ece34dca(替换成自己的).0(或.1)


并push到手机中
adb boot 
adb remount
adb push /Users/Judy/ece34dca.0.pem /system/etc/security/cacerts/

打开手机在系统安全的设置中看到如下情况就是成功,注意证书是在系统栏下不是用户栏。
MAC 使用Charles抓包手机HTTP/HTTPS最全教程!!!
结束