当前位置:  开发笔记 > 编程语言 > 正文

如何测试我的.Net客户端使用的TLS版本

如何解决《如何测试我的.Net客户端使用的TLS版本》经验,为你挑选了3个好方法。

我支持一个.NET站点(其中很多,很多,其他东西)与供应商系统的远程API进行通信.

我们想升级以支持TLS 1.2我们希望按照这个问题这样做:是否有TLS 1.2的.NET实现?

但是,一旦我做出改变,我该如何检查这是否真的有效.

理想情况下,我的一个供应商网站将开始使用TLS 1.2 ,然后我的测试可能就是"我们现在可以与该供应商交谈吗?" 但我们没有那个.我猜我可以用某种类型的数据包嗅探器做一些事情,但我不知道我究竟在寻找什么,也不知道如何设置嗅探器以可读的方式收集必要的数据.

或者:

有人可以指出我如何在Fiddler/WireShark中收集数据的综合指南

要么

有人可以建议另一种方法来测试变更是否有效.

spottedmahn.. 40

如果你在Fiddler中打开" CONNECTS " ,你可以在Inspectors中看到TLS/SSL版本 - > TextView

TLS版本1.2的屏幕截图连接到Google.com


要打开"连接",请转到Rules菜单栏并从"隐藏连接"中删除检查

打开连接截图

参考:在Fiddler中查看HTTPS握手



1> spottedmahn..:

如果你在Fiddler中打开" CONNECTS " ,你可以在Inspectors中看到TLS/SSL版本 - > TextView

TLS版本1.2的屏幕截图连接到Google.com


要打开"连接",请转到Rules菜单栏并从"隐藏连接"中删除检查

打开连接截图

参考:在Fiddler中查看HTTPS握手


需要注意的是,需要禁用"解密HTTPS流量"才能使其正常工作.在链接到的文章中提到它,但我想这可能会消失.

2> Rich..:

如果您在Wireshark中捕获连接创建,并检查来自客户端的第一个数据包,那么Wireshark将为您注释ClientHello结构中的字段,包括客户端请求的TLS版本.

同样,如果您查看来自服务器的第一个回复数据包,那么Wireshark将为您注释ServerHello结构中的字段,包括为连接确定的TLS版本.

有关工作示例,请参阅此博客文章或此文章.



3> Rich..:

System.Net跟踪确实包含足够的细节来检查这一点,尽管它不是很容易访问.

此KB描述了如何打开System.Net跟踪.

此博客文章在System.Net跟踪中显示完整的HTTPS请求.

将记录通过线路发送的字节,并在该博客帖子中给出的示例中,客户端流启动:

System.Net.Sockets Verbose: 0 : [3848] Data from Socket#48285313::Send
System.Net.Sockets Verbose: 0 : [3848] 00000000 : 16 03 00 00 41 01 00 00-3D 03 00 43 26 02 90 83 : ....A...=..C&...

RFC5246描述了TLS 1.2并解释了ClientHello是第一个预期的消息,并说明了它的格式:

  struct {
      ProtocolVersion client_version;
      Random random;
      SessionID session_id;
      CipherSuite cipher_suites<2..2^16-2>;
      CompressionMethod compression_methods<1..2^8-1>;
      select (extensions_present) {
          case false:
              struct {};
          case true:
              Extension extensions<0..2^16-1>;
      };
  } ClientHello;

这个SO答案解释了记录以0x16作为类型标记开始,然后是协议版本.

上面显示的会话具有3.0版本,这意味着SSL 3.0.

RFC解释说3.3是TLS 1.2.

因此,如果您的客户端数据以" 16 03 03" 开头,那么您的客户端正在尝试协商TLS 1.2.

您可能需要检查ServerHello以确定实际使用的版本.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有