在DDoS的领域里面，攻击工具扮演着一个重要的角色，因为事实上的DDoS攻击，都是依靠攻击工具来实施的。因此对它们进行全面的分析，了解其产生的攻击类型、攻击实施的方式特点，将有助于采用更准确有效的清洗方法来对应攻击的威胁。
DDoS存在的原因主要是以太网TCP/IP协议栈的设计漏洞，即任何连接网络的主机都可以发送任意的IP报文，无须进行身份认证。IP网络是”尽力发送”网络，只要网络带宽足够大，就可以发送大量报文，攻击工具正是利用这特性得以存在和发展。
对攻击工具工作原理的分析，并不是去了解它们的实现设计，而是分析其所产生的攻击类型，深入了解攻击类型才是研究工具的核心。通常攻击分类可以从协议层面和被攻击目标的影响方式不同来划分。
协议层别划分的攻击类型主要有传输层攻击和应用层攻击。传输层攻击比较典型的代表就是SYNflood、ACKflood、UDPFlood，而应用层攻击的代表则是HTTPflood，DNSflood，SIPflood。另外一种是依据对目标服务器影响的不同方式来划分的攻击类型，它们分别是以消耗目标服务器资源和消耗网络带宽为目的的攻击。消耗目标服务器资源的攻击通常对协议栈原理有更深入的理解，比如SYNflood攻击，就是利用被攻击目标对SYN报文分配资源没有释放的缺陷而达到目的，实施这种攻击无须大流量。以消耗目标服务器带宽资源的攻击则是以流量大取胜，比较典型的有UDPflood。从表1列出的工具可以看出，大多数工具是产生的攻击是以目标资源消耗型为目标，而且有能够模拟协议栈行为，比如完成TCP的三次握手。
攻击工具要体现出更大的威力，通常会设计一种良好的流量攻击方式，让攻击更难于防护和发现。比较常见的方式就是利用僵尸网络发起攻击。如果僵尸网络主机数量比较庞大，那么不管是在应用层还是传输层，对目标服务器的资源消耗和网络带宽的影响都会比较大。如果攻击工具能够模拟完整的协议栈，那么防护设备的防御难度越大，因为大部分防护技术都是基于协议栈的动态交互来实现身份认证的。比如SYNflood防护中的SYNCOOKIE算法，如果客户端能够完成正常3次握手，就可以突破这个算法。虽然大多数攻击工具能够完成传输层协议栈的模拟，但实现完整应用层协议栈的模拟则比较少，主要原因在于应用层协议比较复杂。如表1所示的SlowHTTPTest能够完成正常的三次握手，然后利用应用层协议漏洞发起攻击。
总结起来攻击工具的发展有如下几个特点：
利用应用层协议栈漏洞发起的工具比较多。大部分集中在基于web业务的攻击，其它应用层协议如DNS、SIP相对比较少。
能够模拟协议栈行为包括应用层和传输层的攻击工具是未来发展的趋势，实现应用层协议模拟的防御难度会更大。
攻击工具已经逐渐朝更加隐蔽的方式，以能操纵更大规模的僵尸网络为目标方向挺进，比如DirtJumper。
基于应用层协议漏洞的攻击工具会越来越多，由于能够通过较少流量达到攻击目的，对业务的危害比较大。
攻击工具的防御，一方面可以从基础设施的改进来缓解攻击影响，比如带宽扩容，增强服务器的处理性能、采用合理的网络部署结构等。另外一方面可以在网络边界出入口采用专用的防御技术。目前行之有效的防护方法主要有4大类：
模拟传输层和应用层协议栈行为，代替服务器回应数据报文，对正常的客户端发送挑战报文，只有完成挑战认证的客户端的流量才能放行。动态挑战算法比较常用的有SYNCookie,DNSNcookie和SIPcookie。
基于各种粒度和层次，分别从源IP、目标IP、传输层和应用层session，对IP流量进行限制。这是对流量型攻击常用的防护方法，比如UDPFlood，ICMPFlood。
从三层到7层灵活的访问控制策略。从IP地址到7层应用层协议，比如HTTP协议，可对报文的URL，user-agent，cookie设置丢弃、信任和限速策略，而对DNS协议，则可对报文中QUERY名字、类型、RR记录设置类似策略。
基于数据分析技术对IP行为和流量特征建模分析，建立通用信誉库包括IP、URL和文件信息，输出异常流量特征指纹，自动完成流量清洗。这对僵尸网络以及报文发送异常的攻击工具防护都非常有效，比如SlowlorisHeader。
虽然DDoS攻击方式在不断发生变化，但攻击的类型并不会发生质的改变，攻击工具对业务系统带来的最大威胁，并不在于新的工具名称的出现，而在于尚未发现而且能够被利用的已知或未知协议漏洞。面对未来新工具的出现，准确把握好其产生的攻击类型以及攻击方式特点，并基于此采用反制措施能将攻击危害控制到最小。