我一直在撞墙上一段时间,现在试图让Fiddler解密我支持的一个网络应用程序的通信 .
Versions
提琴手:4.6.2.3
操作系统:Windows 2012 R2
.NET:4.6
Settings
解密HTTPS流量:已启用(...来自所有进程)
提琴手根证书:已安装(现在几次......)
Protocols: <client>;ssl3;tls1.0;tls1.1;tls1.2
在web.config中我添加了:
<system.net>
<defaultProxy enabled="true">
<proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="False"/>
</defaultProxy>
</system.net>
我在Fiddler日志中得到的错误是:
The client and server cannot communicate, because they do not possess a common algorithm for pipe
我扫描了第一个抛出错误的 endpoints ,但请记住,fiddler无法与任何https endpoints Build 握手:
TLS 1 offered
TLS 1.1 offered
TLS 1.2 offered
经过一些研究后,我尝试将其添加到FiddlerScript中:
if (oSession.HTTPMethodIs("CONNECT") && oSession.HostnameIs("dev-wsv-OMITTED.OMITTED.ad"))
{
oSession["x-OverrideSslProtocols"] = "tls1.0";
}
没有成功 . 我不知所措 . 为什么服务器可以 Build 握手而Fiddler不能?捕获所有非加密流量没有问题,但我似乎无法让HTTPS解密发挥得很好 .
在此,我们将非常感谢您的任何见解或帮助 .
谢谢!
1 回答
我之前遇到过类似的问题 . 您似乎还没有使用Fiddler根证书创建密钥库 .
第1步:导出证书
第2步:使用此证书创建密钥库
第3步:添加以下VM选项
那应该是它 .
有关更多详细信息,请参阅this msdn blog .