gpt4 book ai didi

android - 为什么有些 HTTPS 请求无法在 Fiddler 上解密,而有些可以?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:59 26 4
gpt4 key购买 nike

场景:我正在尝试通过 Fiddler 代理请求来调试 Android 应用。

我在 Android 设备上安装了 FiddlerRoot 证书,并且 SSL 解密适用于大多数请求,但对于其他请求,我只能看到 HTTPS 连接,Fiddler 日志中没有其他任何内容。我认为可能是通过 SSL 的图像请求未能解密。

我已经仔细检查“隐藏图像”是否已关闭等。检索到的图像托管在与应用程序通信的主要 API 之外的另一个域中。

什么会导致这种行为?以及如何让图像请求显示在 Fiddler 中?

我使用的是最新的 Fiddler4。

最佳答案

有很多教程介绍如何使用 Fiddler 拦截来自 Android 的 HTTP(s) 流量。试试这个:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforandroid

但是,当您尝试拦截和解密来自应用程序而非浏览器的 Android SSL 流量时,它将失败。

可能是应用程序使用了证书固定——您可能无法破译此连接。丢失的原因!但更有可能的是,原因是 HttpsUrlConnection 管道实现中的错误。

要解决此问题,请继续执行以下步骤:

  1. 在Fiddler中点击“规则->自定义规则”;
  2. 在脚本中找到函数OnBeforeResponse
  3. 在函数体中添加如下代码:

    if (oSession.oRequest["User-Agent"].indexOf("Dalvik") > -1 &&
    oSession.HTTPMethodIs("CONNECT")) {
    oSession.oResponse.headers["Connection"] = "Keep-Alive";
    }
  4. 保存文件并重启 Fiddler。

关于android - 为什么有些 HTTPS 请求无法在 Fiddler 上解密,而有些可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16277913/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com