• charles抓包详解http 与 https


    包工具多种多样,比较好使的还是Charles和Fiddler,下面就简单的介绍下HTTPS的相关原理并以Charles为例来介绍下如何抓取HTTPS协议的包

    1.下载charles

     可以去charles官网下载,下载地址:http://www.charlesproxy.com/download/    根据自己的操作系统下载对应的版本,然后进行安装,然后打开charles工具

    2.设置代理(记住手机跟电脑要在同一个网络,用的同一个路由器)

      1).查看默认端口    Proxy->Proxy Settings  在这个页面会看到HTTP Proxy的默认端口是8888   我们不需要修改,只需要知道有这个值就行

      2).查看当前电脑的ip ,查看方式cmd ,输入命令 ipconfig,   例如我这里的是:172.16.91.231

      3).知道了默认端口跟ip地址,我们就可以手机上设置代理了。设置步骤我录制了gif动画。(我用的是genymotion模拟器,真机也是一样的)

          

    完成了以上两个步骤就可以抓到http请求的数据了,效果图如下:

     如果遇到unknown的情况是无法处理https,需要安装证书,进行处理,请看面的步骤

    此后步骤适用于抓取https协议的请求 

    3.设置charles ssl代理,抓取https协议的包

       Proxy->SSL Proxy Settings    弹出一个ssl代理设置界面

       1).Enable SSL Proxying复选框打上勾

       2).添加你想要的设置代理的域名,端口默认443

       设置过后效果图如下:

       

       

    4.手机下载ssl证书

       1).Help->SSL Proxying ->Install Charles Root Certificate on a Mobile Device or Remote Browser...   

           会弹出一个提示框,如下显示:

           

           浏览器输入这个地址即可下载证书,记住要用Android或iOS自带的浏览器.   地址是:http://chls.pro/ssl ,有个注意的点,iOS需要手动去开启证书,否则证书不起作用

        2).然后按照他的提示安装证书即可.

    做完第三步跟第四步就可以抓包https数据了。

    不能抓取包数据的情况:

    1、遇到代码内部加减密的情况

    2、使用插件的情况

    下面是加减密的请求的截图,未获取接口名称入参与出参都是加密后的非明文

    参考文章:http://www.cnblogs.com/yishaochu/p/5078618.html

  • 相关阅读:
    日期时间检查(格式为:YYYY-MM-DD HH:MM:SS)
    日期合法性验证(格式为:YYYY-MM-DD或YYYY/MM/DD )
    [转]Attribute在.net编程中的应用
    WCF
    [转]使用C#开发ActiveX控件
    在 IIS 中承载 WCF 服务
    [转]一个完整的Installshield安装程序实例
    反射
    特性
    迭代器
  • 原文地址:https://www.cnblogs.com/unknows/p/7566036.html
Copyright © 2020-2023  润新知