
SYN flood使用C语言编程。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
SYN Flood是一种典型的DOS攻击形式,其发生的关键点在于TCP连接的三次握手中。具体而言,当一个用户向服务器发送SYN报文后突然中断连接,例如由于死机或掉线,那么服务器在发出SYN+ACK应答报文后便无法接收到来自客户端的ACK报文(第三次握手因此无法完成)。在这种情形下,服务器端通常会尝试重新发送SYN+ACK给客户端,并等待一段时间后放弃维护这个未完成的连接。这段等待的时间我们称之为SYN Timeout,其长度通常以分钟为单位(大约在30秒到2分钟之间)。尽管单个用户的异常会导致服务器线程等待1分钟的情况并不罕见,但如果存在恶意攻击者大量模拟这种异常行为,服务器端将不得不消耗大量的资源来维护一个庞大的半连接列表——可能达到数以万计的半连接。即使仅仅是简单的保存和遍历这个列表也会显著增加CPU时间和内存的使用量。更重要的是,服务器端还需要不断地对列表中IP地址进行SYN+ACK的重试。实际上,如果服务器的TCP/IP栈性能不足,最终可能导致堆栈溢出并崩溃。即使服务器端的系统本身足够强大,服务器端也可能因为忙于处理攻击者伪造的TCP连接请求而忽略客户的正常请求(由于客户端正常请求所占比例极低)。从客户端的角度来看,这会导致服务失去响应并进入崩溃状态;我们称之为服务器端遭受了SYN洪泛攻击。
全部评论 (0)
还没有任何评论哟~


