您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > SYN-Flood攻击实验
《网络防护技术》实验报告1实验五SYNFlood攻击实验班级﹒学号:网络1201·2012********姓名:******实验日期:2014.11.28任课教师:*******【实验目的】理解SYNFlood攻击原理熟悉SYNFlood攻击方法熟悉抵御SYNFlood攻击的方法【实验原理】SYN-Flood是目前最流行的DDoS攻击手段,DDoS只是洪水攻击的一个种类。其实还有其它种类的洪水攻击。以前的DoS手段在向分布式这一阶段发展的过程中也经历了逐步淘汰的过程。SYN-Flood的攻击效果最好,故众黑客不约而同选择它。以下了解一下SYN-Flood的详细情况。SynFlood利用了TCP/IP协议的固有漏洞。面向连接的TCP三次握手是SynFlood存在的基础。假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接,这段时间的长度我们称为SYNTimeout,一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是很严重的问题,但如果有一个恶意的攻击者大量模拟这种情况,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常小),此时从正常客户的角度看来,服务器失去实验五SYNFlood攻击实验2响应,这种情况称做:服务器端受到了SYNFlood攻击(SYN洪水攻击)。从防御角度来说,有几种简单的解决方法:第一种是缩短SYNTimeout时间,由于SYNFlood攻击的效果取决于服务器上保持的SYN半连接数,这个值等于SYN攻击的频度。SYNTimeout,可以通过缩短从接收到SYN报文到确定这个报文无效并丢弃该连接的时间,例如设置为20秒以下(过低的SYNTimeout设置可能会影响客户的正常访问),可以成倍的降低服务器的负荷。第二种方法是设置SYNCookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续受到某个IP的重复SYN报文,就认定是受到了攻击,以后来自这个IP地址的包会被丢弃。【实验环境】本地主机(WindowsXP)、Windows实验台、Xdossynflood工具实验目标需首先确定所在主机实验台IP地址,并根据实验步骤填写正确的IP地址进行实验。假设实验台IP地址为:10.28.23.144本地主机地址为:10.28.23.222【实验内容】运行syn攻击程序,以本地主机为目标主机对其发送syn数据包查看目标主机状态【实验步骤】一、登录到Windows实验台中进行攻击1、登录到Windows实验台,并从实验工具箱取得syn攻击工具XDoc。2、Windows实验台cmd下运行xdos攻击工具Xdos运行界面如图4-1所示。Xdos命令举例演示如下:xdos10.28.23.222135–t3–s55.55.55.5510.28.23.222为被攻击主机的ip地址(实验时请以被攻击主机真实ip为准)《网络防护技术》实验报告3135为连接端口-t3表示开启的进程-s后跟的ip地址为syn数据包伪装的源地址的起始地址图4-1运行显示如图4-2,Windows实验台正在对本地发送syn数据包。图4-2在目标主机使用wireshark抓包,如图4-3所示,可以看到大量的syn向10.28.23.222主机发送,并且将源地址改为55.55.55.55后面的ip地址。实验五SYNFlood攻击实验4图4-3二、查看本地主机状态在目标主机使用命令netstat-an查看当前端口状态,如图4-4所示,就会发现大量的syn_received状态的连接,表示10.28.23.222主机接受到syn数据包,但并未受到ack确认数据包,即tcp三次握手的第三个数据包。图4-4查看本地网络状态当多台主机对一台服务器同时进行syn攻击,服务器的运行速度将变得非常缓慢。
本文标题:SYN-Flood攻击实验
链接地址:https://www.777doc.com/doc-4999037 .html