1

这不是为了黑客目的而要求的。我正在学习计算机科学,我只是好奇。

所以.. 当主机 A 向主机 B 发送 TCP SYN 时,主机 B 分配空间用于接收缓冲区等,将 SYNACK 发送回主机 A,主机 A 也分配这些空间,然后将 ACK 发送回主机 B。然后建立连接。

但是为什么半开连接(从 A 发出的最后一个 ACK​​ 永远不会发送)比完全建立的连接更能破坏主机 B?

4

1 回答 1

2

半打开连接不会比完全打开的连接占用更多的资源,而且它们中的一堆不会比完全打开的连接更容易、快速或确定地压倒服务器。

但是您只需要向服务器发送一个数据包即可使其创建半开放连接,而您需要完成一次 TCP 握手(1 次发送,1 次接收,另一次发送)以创建完全开放的连接。因此,您可以从欺骗性 IP 地址创建大量半开连接,或者从 DDoS 平台快速生成数百万个连接。您不必处于收到SYN|ACK回复的位置。您甚至不必关心服务器是否能够足够快地产生这些回复。

这假设没有 SYN cookie 或其他针对半开连接的防御措施。

于 2013-03-08T01:25:14.580 回答