FIN 数据包后的 Wireshark 跟踪文件 RST

FIN 数据包后的 Wireshark 跟踪文件 RST

我有一个客户端和应用程序服务器,它们相互交换证书并建立安全的 TLS 连接。

在这种连接结束时,应用程序数据传输完毕后,客户端向服务器发送一个FIN数据包,服务器则回复一个TLSV1.2加密的警报数据包。

这是客户端的进一步确认,客户端这次发送了一个 RST 数据包。您能帮我解释一下这种行为吗?我正在尝试确定这些端点之间的流量基线,然后将这些注释作为输入。

从此处的链接, https://serverfault.com/questions/854692/client-sends-rst-after-fin-ack看起来套接字在关闭之前没有关闭,这归结于糟糕的编程。我很好奇想确认是否是这种情况。

Wireshark 的流量快照。

答案1

根据TCP 指南终止时,通常的事件顺序是:

  1. ---> 结束
  2. <--- 确认
  3. <---等待套接字的应用程序确认连接关闭
  4. <--- 鳍
  5. ---> 确认

对于 FIN/ACK 数据包,步骤 2 和步骤 3 通常同时进行。这是一场优美而庄严的舞蹈。

然而,TCP 还有另一种方法来断开连接,而且比这种繁琐的过程更快。RST向它扔一个包。这是一种粗鲁的做法,但 HTTP 可以解决这个问题,因为数据传输有两个流程,如果第二个流程完成(服务器响应),整个事情就完成了。对于众所周知速度很慢的 HTTP 连接(也就是说,当浏览器处理 50 多个资产请求时,经常有一个人不停地等待页面渲染),小速度调整是按时完成所有事情的方法。

在这种情况下,185主持人试图表现得友好一些,但172主持人却我受够了,走开

作为网络安全管理员,此类流量中数据包的普遍存在RST表明存在网络异常。这是以优化为名滥用协议的一个领域。这是目前 HTTP 流量的预期流量。

相关内容