zoukankan      html  css  js  c++  java
  • 如何使用charles对Android Https进行抓包

     
    Charles.png

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

    原理

     
    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已经被安装,如图:


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


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

       
      提示框.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

    可以随意转发,也欢迎关注我的简书,我会坚持给大家带来分享。

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

    赞赏支持
     
     工具

    Web note ad 1

     
      
     
     
     http://www.jianshu.com/p/ecd065ac0440按这个教程安卓小米安装成功了
    2017.06.21 17:44  回复
  • 相关阅读:
    iOS 索引列 使用详解
    iOS 搜索条使用详解
    iOS 百度地图使用详解
    在iOS中使用ZBar扫描二维码和条形码
    自学html-five(锚点、伪类、字符实体)
    自学html-four(css初始化及html语义标签 -> h标签 p标签 img标签 有序列表 无序列表 表格 超链接)
    自学html--htree(CSS)
    自学html--two(盒模型)
    自学html--one(div布局)
    常用控件补充(UIDatePicker、UIWebView)
  • 原文地址:https://www.cnblogs.com/lenkevin/p/8946227.html
Copyright © 2011-2022 走看看