在C#中使用WebClient和SSL,因此无法嗅探流量

时间:2013-03-03 01:54:51

标签: c# ssl webclient fiddler

我正在编写一个客户端,通过https从服务器(不在我的控制下)中检索数据,并且工作正常。

我想要做的就是这样做,所以我对服务器的请求不会被客户端计算机上的某人使用Fiddler等嗅探。所以有什么方法可以在Fiddler拦截之前对header / url进行加密?

1 个答案:

答案 0 :(得分:4)

我对Fiddler的理解是通过伪装成代理来站在客户端和服务器之间。你是对的,看起来Fiddler有能力拦截HTTPS传输。

,根据Fiddler's documentation,您的C#应用​​程序不会信任Fiddler提供的证书。 C#应用程序将抛出一个异常,说它无法验证与远程服务器的信任。并且不会传输任何数据。

如果您真的很偏执,可以执行所谓的“证书固定”,其中您的C#应用​​程序将从HTTPS服务器中查找特定证书,以确保它是您正在寻找的确切服务器。但是,如果要更改证书,则需要更新您的应用程序。

编辑:重读文档,Fiddler确实为Windows所信任的证书提供了一种方式(以及任何使用Chrome和.NET等受信任商店的应用程序)。如果这样做,您的C#应用​​程序很可能会像平常一样运行,您的流量对Fiddler完全可见。如果你出于某种原因担心这个问题,我会看看证书固定。