全文预览

基于tcp协议的dos拒绝服务攻击的实现和防御

上传者:火锅鸡 |  格式:ppt  |  页数:21 |  大小:1110KB

文档介绍
立时的三次握手过程形成的。Р攻击过程РTCP/IP报文分析Р拒绝服务攻击其它分类Р(1)IP欺骗DOS攻击?(2)UDP洪水攻击?(3)Ping洪流攻击?(4)泪滴(teardrop)攻击?(5)Land攻击?(6)Smurf攻击?(7)Fraggle攻击РSYN Flood攻击的实现Р1 SYN Flood 攻击程序的原理?2 伪造SYN数据包的步骤?3 检验和的计算?4 程序的结果测试РSYN Flood 攻击程序的原理РSYN Flood攻击会出在TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应。Р伪造SYN数据包的步骤Р进行SYN Flood攻击编程要先构造好TCP三次握手中发送的SYN数据包,首先伪造TCP首部,再计算其校验和,接着构造IP首部,计算IP的校验和,最后使用原始套接字封装,发送到目的主机

收藏

分享

举报
下载此文档