从捕获的数据包中,我看到以下行为对我来说似乎很奇怪:

Client --> Server  [SYN]
Server --> Client  [SYN, ACK]
Client --> Server  [ACK]
Server --> Client  [FIN, ACK]
Client --> Server  [ACK]
Client --> Server  [TCP Segment of a reassembled PDU] (I don't know what this means)
Server --> Client  [RST]

关于为什么会发生这种情况的任何想法?

另外,服务器端口为6000。这可能引起任何问题吗?

我的其他疑问:
  • 为什么会有FIN,ACK?难道不是只有FIN吗?该消息中的ACK是什么意思?
  • 是否也应该没有来自客户的FIN?

  • 编辑:
    经过更多分析后,我发现文件描述符的数量是否已超过限制,然后服务器发送了FIN。但是,在这种情况下,文件描述符似乎没有超出限制。在什么其他情况下会发生这种情况?

    最佳答案

    FIN通常意味着套接字上的另一边称为shutdown(..)

    关于tcp - 为什么TCP服务器在接受连接后立即发送FIN?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3870260/

    10-13 09:22