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

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

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

-p tcp --tcp 标志 FIN、SYN、RST、PSH、ACK、URG FIN -j DROP

因此,当有人向我发送带有 FIN = 1 的数据包时,我无法发送 FIN/ACK。
这似乎不太可能,但这是否意味着我建立的连接不会停止?
这是如何工作的?我的连接是否保持活动状态?如果是,持续多长时间?

当有人关闭浏览器时,这实际上是如何工作的?它向我的服务器发送 FIN,我的服务器回复 FIN/ACK ...但浏览器无法接收,对吗?谁收到了数据包,它发往哪里?

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

未完成的三次握手有名字吗?谢谢。

答案1

未完成的三次握手有什么名字吗

这被称为半开联系。

因此,当有人向我发送带有 FIN = 1 的数据包时,我无法发送 FIN/ACK。这似乎不太可能,但这是否意味着我建立的连接不会停止?这是如何工作的?我的连接是否保持活动状态?如果是,持续多长时间?

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

相关内容