使用C#webrequests时如何解密wireshark中的TLS通信
我试图解密Wireshark中服务器和客户端之间的TLS通信。 我找到了一些关于如何使用SSLKEYLOGFILE windows环境变量实现这一点的文章。 当我使用Firefox或Chrome等浏览器时,我可以看到SSLKEYLOG文件被填充。 但是当我使用我自己的客户机,使用WebRequests在C#中实现时,不会向keylogfile添加任何内容 是否可以像浏览器那样指示.net WebRequest提供预共享的秘密? 或者是否有一个解决办法来获得解密Wireshark流量的秘密使用C#webrequests时如何解密wireshark中的TLS通信,c#,.net,httpwebrequest,C#,.net,Httpwebrequest,我试图解密Wireshark中服务器和客户端之间的TLS通信。 我找到了一些关于如何使用SSLKEYLOGFILE windows环境变量实现这一点的文章。 当我使用Firefox或Chrome等浏览器时,我可以看到SSLKEYLOG文件被填充。 但是当我使用我自己的客户机,使用WebRequests在C#中实现时,不会向keylogfile添加任何内容 是否可以像浏览器那样指示.net WebRequest提供预共享的秘密? 或者是否有一个解决办法来获得解密Wireshark流量的秘密 提前感
提前感谢。我没有找到使用Wireshark的方法(没有在两者之间添加未加密的代理)。 但是,您可以通过向配置文件中添加以下内容来检索未加密的有效负载(&M):
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net" maxdatasize="10000000" tracemode="protocolonly" >
<listeners>
<add name="TraceFile"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="TraceFile" type="System.Diagnostics.TextWriterTraceListener" initializeData="tracefile.log"/>
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose"/>
</switches>
</system.diagnostics>
这是Firefox和Chrome的一项功能。您无法将此应用程序与任何其他应用程序一起使用。如果可以,每个黑客都会用它来窃取数据。如果您想在调试期间解密数据,请使用调试代理(如Fiddler)并将其设置为解密SSL通信。好的,但由于我拥有服务器和客户端的源代码,我认为可能可以通过编程方式公开共享机密,以便我可以在wireshark中使用它进行解密。如果您想检查HTTP调用,所讨论的源代码是.NET的。您也不需要Wireshark,Fiddler已经完成了解密和解码HTTP调用的工作