如何使用charles对Android Https进行抓包

 
Charles.png

charles是一款在Mac下经常使用的截取网络封包工具,对Android Http进行抓包,只要对手机设置代理便可,但对Android Https进行抓包仍是破费一些功夫,网上的资料解释的也不清楚,今天在这里总结一下,但愿对一样遇到问题的朋友带来一些帮助。javascript

原理

 

 
man-in-the-middle.png

Charles实现对Https进行抓包,使用的原理就是中间人技术(man-in-the-middle)。Charles会动态生成一个使用本身根证书签名的证书,Charles接收web服务器的证书,而客户端浏览器/客户端 接收Charles生成的证书,以此客户端和Charles之间创建Https链接,Charles和Web服务器之间创建Https链接,实现对Https传输信息的抓包。若是Charles根证书不被信任则没法创建Https链接,因此须要添加Charles根证书为信任证书。

 

如何使用

  1. 给Mac安装证书。
    打开Charles,在Menu选择SSL Proxying > Install Charles Root Certificate,Keychain Access(钥匙访问串)被打开,咱们能够看到Charles Certificate已经被安装,如图:html


     
    Charles Certificate被安装.png
  2. 信任证书
    但此时该证书并无被信任,双击该行弹出证书详情,选择“Always Trust”。java


     
    信任证书
  3. 给手机安装证书
    打开Charles,在Menu选择Help > SSL Proxying > Install Charles Root Certificate on a Mobile Device or Remote Browser,弹出提示框,如图:web

     
    提示框.png

    安装提示进行配置,须要注意的是192.168.0.101是我演示时候的IP,你要改为你本身的IP地址。IP配置以后用手机浏览器打开http://charlesproxy.com/getssl 下载证书。若是是Android设备,选择设置->从储存设备安装。

     

  4. 开启SSL代理功能
    在Menu选择Proxy->SSL Proxying Setting,选中Enable SSL Proxying,在Locations里面添加要使用SSL代理的网站,端口号输入443,若是须要匹配全部的HTTPS网站则输入 * 号便可。如今便可拦截Https的数据包。浏览器

参考资料

SSL PROXYING
SSL CERTIFICATES服务器

能够随意转发,也欢迎关注个人简书,我会坚持给你们带来分享。网络

小礼物走一走,来简书关注我app

赞扬支持
 
 工具

Web note ad 1

 
  
 

 

 
  http://www.jianshu.com/p/ecd065ac0440按这个教程安卓小米安装成功了

 

2017.06.21 17:44   回复
相关文章
相关标签/搜索