场景:我试图通过Fiddler代理请求调试Android应用程序。
我在Android设备上安装了FiddlerRoot证书,SSL解密适用于大多数请求,但对于其他请求,我只能看到HTTPS Connect,而Fiddler日志中没有其他内容。我认为可能是基于SSL的图像请求无法解密。
我已经仔细检查过“隐藏图片”已关闭等。检索到的图片托管在应用程序与之对话的主API之外的其他域上。
什么可能导致这种行为?如何在Fiddler中显示图像请求?
我正在使用最新的Fiddler4。
答案 0 :(得分:2)
有很多关于如何使用Fiddler拦截来自Android的HTTP流量的教程。 试试这个:http://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforandroid
但是,当您尝试拦截和解密来自应用程序而不是来自浏览器的Android SSL流量时,它将失败。
可能是应用程序使用证书固定 - 您可能无法破译此连接。丢失的原因! 但更可能的是,原因是HttpsUrlConnection管道实现中的一个错误。
要解决此问题,请继续执行以下步骤:
将以下代码添加到函数体:
if (oSession.oRequest["User-Agent"].indexOf("Dalvik") > -1 &&
oSession.HTTPMethodIs("CONNECT")) {
oSession.oResponse.headers["Connection"] = "Keep-Alive";
}
保存文件并重新启动Fiddler。