使用C#webrequests时如何解密wireshark中的TLS通信

使用C#webrequests时如何解密wireshark中的TLS通信,c#,.net,httpwebrequest,C#,.net,Httpwebrequest,我试图解密Wireshark中服务器和客户端之间的TLS通信。 我找到了一些关于如何使用SSLKEYLOGFILE windows环境变量实现这一点的文章。 当我使用Firefox或Chrome等浏览器时,我可以看到SSLKEYLOG文件被填充。 但是当我使用我自己的客户机,使用WebRequests在C#中实现时,不会向keylogfile添加任何内容 是否可以像浏览器那样指示.net WebRequest提供预共享的秘密? 或者是否有一个解决办法来获得解密Wireshark流量的秘密 提前感

我试图解密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调用的工作