为什么有些HTTPS请求无法在Fiddler上解密,而有些则有效?

dri*_*iis 7 ssl https android fiddler

场景:我试图通过Fiddler代理请求调试Android应用程序.

我在Android设备上安装了FiddlerRoot证书,SSL解密适用于大多数请求,但对于其他请求,我只能看到HTTPS Connect,而Fiddler日志中没有其他内容.我认为可能是SSL上的图像请求无法解密.

我已经仔细检查了"隐藏图像"是否已关闭等.检索到的图像托管在另一个域上,而不是应用程序与之对话的主API.

什么可能导致这种行为?如何在Fiddler中显示图像请求?

我正在使用最新的Fiddler4.

And*_*kin 2

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

\n\n

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

\n\n

应用程序可能使用固定 \xe2\x80\x93 的证书,并且您可能无法破译此连接。失败的原因!\n但更有可能的是,原因是 HttpsUrlConnection 管道实现中的错误。

\n\n

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

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

    \n\n
    if (oSession.oRequest["User-Agent"].indexOf("Dalvik") > -1 &&\n    oSession.HTTPMethodIs("CONNECT")) {\n    oSession.oResponse.headers["Connection"] = "Keep-Alive";\n}\n
    Run Code Online (Sandbox Code Playgroud)
  6. \n
  7. 保存文件并重新启动 Fiddler。

  8. \n
\n