当tcp数据包无法完成三次握手时会发生什么?

虚拟专用服务器的防火墙。
我正在研究如何防止FIN扫描,并让我思考后果。
很多人都在使用这个规则:

-p tcp –tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j DROP

所以当有人给我发送一个FIN = 1的数据包时,我无法发回FIN / ACK。
这似乎不大可能,但这是否意味着我build立的联系不会被阻止?
这是如何运作的 ? 我的连接是否保持活跃?如果是这样,多久?

当有人closures浏览器时,这实际上是如何工作的? 它发送一个FIN到我的服务器,我的服务器回复FIN / ACK …但浏览器无法接收,对吧? 谁得到这个数据包,它到底在哪里?

而如果…一个远程机器发送我的服务器一个SYN,我的回复是SYN / ACK,假设我没有收到ACK,我的服务器等待多长时间呢?

有没有未完成的三方握手的名字? 谢谢。

是否有未完成的三方握手的名称?

这被称为半开连接。

所以当有人给我发送一个FIN = 1的数据包时,我无法发回FIN / ACK。 这似乎不大可能,但这是否意味着我build立的联系不会被阻止? 这是如何运作的 ? 我的连接是否保持活跃?如果是这样,多久?

它最终会超时。 另请参阅TIME_WAIT状态。

  • Windows中默认的TCP连接超时是什么?
  • 如何检查在Linux /马科斯的TCP超时?
  • 设置TIME_WAIT TCP