客户端在FIN,ACK之后发送RST

客户端在FIN,ACK之后发送RST

在使用安全文件传输协议进行文件传输时,我看到了如下图所示的行为。

在此处输入图片描述

它不接受来自服务器的数据包,而是发送 RST。发现了类似的情况。https://stackoverflow.com/questions/12320998/client-sends-rst-to-server-after-fin-ack-during-ssl-handshake

但没有帮助,请帮忙。

问候,Joemon

答案1

您的流中的 FIN 和 RST 数据包没有直接关系。发送 FIN10.77.137.106表示它没有更多数据要发送。它仍然可以从连接的另一端接收更多数据。但是,当有更多数据到达时,10.77.32.60会发送 RST 以表示应用程序将不再从套接字读取任何数据。

如果应用程序想要彻底关闭 TCP 连接而不导致发送任何 RST 数据包,它必须首先使用系统shutdown调用关闭套接字以进行写入,同时保持套接字打开以进行读取。在关闭套接字以进行写入后,它仍必须读取另一端必须发送的所有数据,然后才能完全关闭套接字。

相关内容