zoukankan      html  css  js  c++  java
  • 用Fiddler在Android上抓HTTPS包

    iddler是一个HTTP协议调试代理工具,在开发网络应用的时候经常会用到,其最基本的作用是能抓HTTP的数据包,当然它还有更高级的用法,如添加断点、修改请求与相应的数据等等。。。

    简单说下使用方法

    1. 安装后配置端口:Tools->Fiddler Options->Connections->Fiddler listens on port: 8888(默认值)
    2. 勾选Allow remote computers to connect
      这里写图片描述
    3. 进入Android设备的WLAN连接,长按进入修改网络->显示高级选项->添加代理服务器IP和端口即可(运行Fiddler的那台机器)
      这里写图片描述
      这个时候Android设备上所有的HTTP请求就会通过Fiddler进行代理转发了,当然我们就可以在Fiddler上对数据包进行分析。。。

    抓HTTPS包

    最近项目里需要抓取Google Analytics的数据包进行分析,而GA的数据传输都是基于HTTPS的,用Fiddler进行抓包,命令行一直报Warnning,很明显就是由于证书没添加导致握手过程失败:

    W/GAv4: Network compressed POST connection error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
    • 1
    • 1

    我们都知道,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,HTTPS需要申请CA证书,SSL通过CA证书来进行验证并对数据进行加密。

    要让Fiddler支持HTTPS包的捕获,我们需要到设置里面将其打开,并把CA证书添加到系统中:

      1. 进入Tools->Fiddler Options->HTTPS,勾选Decrypt HTTPS traffic
        这里写图片描述
      2. 然后通过Actions按钮中的Export Root Certificate to Desktop导出证书文件FiddlerRoot.cer,拷贝至sdcard,然后通过安全->凭据存储->从usb存储器安装添加证书。此时会弹出添加证书的Dialog,输入名字点击确定即可。(或者在Android设备通过浏览器进入http://192.168.xx.xx:8888/,点击最下方的FiddlerRoot certificate,然后会弹出添加证书的Dialog。)
        这里写图片描述
        这里写图片描述
      3. 设置完后如果没生效把App重启一下再试试,在Fiddler的列表中应该已经出现HTTPS的数据包了。
  • 相关阅读:
    oracle自动选择索引
    oracle避免在索引列上使用计算
    oracle强制索引失效
    oracle不明确的索引等级
    oracle等式比较和范围比较
    oracle多个平等的索引
    oracle 基础表的选择
    微信5.0:可定制菜单栏、移动支付、公众账号付费订阅
    微信公众平台消息接口开发(26)从Hello2BizUser文本到subscribe事件
    PHP数组教程
  • 原文地址:https://www.cnblogs.com/westfruit/p/6733822.html
Copyright © 2011-2022 走看看