最新消息:阿里云双12优惠,史上最低折扣。

ddos攻击教程与测试工具大全(下)

服务器租用 aliyun 368浏览

客户资料放网盘怕丢失?教您用云服务器搭建自己专属私有云盘

本文讲述用新睿云的云服务器外加可道云来搭建企业或个人的专属私有云盘,这样我们分享出的连接,文件则不会再莫名的被封禁了!

传送门——dDoS攻击教程与测试工具大全(上)

DoS攻击

DoS:是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。不同于其他的留有木马后门或劫持数据的方式,DoS攻击并不威胁敏感数据,只是使合法用户不能获得应有的服务。DoS攻击也可以被用于瘫痪WAF,以便进一步攻击网站系统。

拒绝服务攻击与分布式拒绝服务攻击(DoS VS DDoS)

DDOS:分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

简单来讲,DOS攻击从单一网络节点发起攻击,攻击源一般只有一个;DDOS攻击从分布在网络上的多个攻击源发起攻击,攻击源有成千上万,甚至更多….

拒绝服务攻击的分类(DOS)

DOS攻击大致分为两大类:应用层拒绝服务攻击与网络层拒绝服务攻击。为了更好的理解,我们先介绍“层”的概念 。

OSI参考模型将网络划分为7层架构,是指导应用程序在网络中通信的标准模型。

网络层拒绝服务攻击

这类攻击集中在网络层与传输层,属于资源消耗型攻击(CPU满负荷或内存不足),用海量的恶意流量淹没目标机器,消耗目标机器的所有资源,从而使目标服务器失去正常响应。

TCP SYN Flood 攻击

SYN Flood攻击工作在传输层,为了能更好的了解这一攻击方式,我们需要先了解TCP连接的建立过程。

大家都知道,TCP与UDP不同,它是基于连接的,也就是说:为了在服务端和客户端之间传送TCP数据,必须先建立一个虚拟链路,也就是TCP连接,建立TCP连接的标准过程俗称“三次握手”(Three-way Handshake):

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并 进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

问题就出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况。

服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源—-数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃—即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况我们称作:服务器端受到了SYN Flood攻击(SYN洪水攻击)。

转载请注明:小猪云服务器租用推荐 » ddos攻击教程与测试工具大全(下)