【发布时间】:2021-08-26 11:35:15
【问题描述】:
我有 TLS 程序,并对其进行了一些实验。
我启动机密 TLS 服务器会话并尝试使用纯 Telnet 客户端连接到它。
正如预期的那样,握手失败并且服务器可供下一个客户端使用,但在 Telnet 客户端上,我没有收到任何关于握手失败并且服务器正在接受其他客户端的指示。 我可以在 Wireshark 中看到,即使在握手失败之后 Telnet 客户端也可以发送字符串;我看到来自客户端的 [PSH, ACK] 由服务器的 [ACK] 回答。
添加 Wireshark 快照,Telnet 握手失败,Telnet 继续发送消息,随后 TLS 握手成功和更多 Telnet 消息:
如果握手失败并且他正在接受其他客户端,为什么服务器会确认 Telnet 客户端?
【问题讨论】:
-
“我没有收到任何迹象表明......服务器正在接受其他客户端”:你永远不会。无法想象你在这里期待什么。
-
大部分都是假的。 (1) 这不是一个“纯 Telnet 客户端”;它说的是 TLS。 (2) Telnet 客户端收到 TLS 警报,这是“握手失败的指示”。 (3) 没有“表明服务器正在 [或不] 接受其他客户端的迹象”这样的事情。 (4) Telnet 客户端然后收到一个 FIN。 (4) Telnet 客户端收到一个 RST。在此之后,连接不再存在。我无法解释以下内容:它真的是同一流的一部分吗?此时有一个相当可疑的 3 秒间隔。
标签: ssl tcp wireshark tls1.2 telnet