作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这不是出于黑客目的。我正在学习计算机科学,我只是好奇。
所以..当主机A向主机B发送TCP SYN时,主机B为接收缓冲区等分配空间,向主机A发送回SYNACK,主机A也分配这样的空间,然后向主机B发送回ACK。连接是然后成立。
但是为什么半开连接(从不发送来自 A 的最后一个 ACK)比完全建立的连接更能破坏主机 B?
最佳答案
半开连接不会比完全打开的连接占用更多的资源,并且一堆连接不会比完全打开的连接更容易、更快或更可靠地压垮服务器。
但是您只需要向服务器发送一个数据包就可以创建一个半开连接,而您需要完成一次 TCP 握手(1 次发送,1 次接收,再一次发送)才能创建一个全开连接。因此,您可以从欺骗性 IP 地址创建大量半开连接,或者从 DDoS 平台快速生成数百万个连接。您不必处于接收 SYN|ACK
回复的位置。您甚至不必关心服务器是否能够足够快地生成这些回复。
这假设没有 SYN cookie 或其他针对半开连接的防御措施。
关于tcp - 关于 TCP SYN 洪水 : Why is half-open connections worse than established connections?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285008/
我是一名优秀的程序员,十分优秀!