实验五 分析SYN FLOOd攻击原理
一、实验内容
通过分小组实施SYN FLood攻击,掌握分布式拒绝服务攻击原理。
二、实验目的和要求
1. 实验目的
本实验的教学目的是熟悉SYN flood的攻击原理与过程,及IPv4所存在的固有缺陷。 2. 实验要求
本实验的基本要求:学生在实验课前分小组准备,每组分角色确定实施攻击者和被攻击者,熟悉SYN flood的攻击原理与过程,观察攻击现象。
三、实验设备(软、硬件)
硬件:性能较强的PC机 软件:Windows NT操作系统 四,实验设计方案;
1两个人一组,其中一人为攻击方,一人为被攻击方,被攻击方有一台web服务器,攻击方攻击对方得web服务器,
2,附syn-flood攻击得源码,注意攻击 ip地址要做改动 五,实验原理
在SYN Flood攻击中,黑客机器向受害主机发送大量伪造源地址的TCP SYN报文,受害主机分配必要的资源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包。由于源地址是伪造的,所以源端永远都不会返回ACK报文,受害主机继续发送SYN+ACK包,并将半连接放入端口的积压队列中,虽然一般的主机都有超时机制和默认的重传次数,但是由于端口的半连接队列的长度是有限的,如果不断的向受害主机发送大量的TCP SYN报文,半连接队列就会很快填满,服务器拒绝新的连接,将导致该端口无法响应其他机器进行的连接请求,最终使受害主机的资源耗尽。 六,实验方法及步骤
1, 被攻击方配置web服务器
2, 攻击方设置要攻击服务器的ip地址,然后编译源程序。 3, 运行synflood,攻击web服务器
4, 被攻击方打开命令行提示窗口,运行netstat命令,观察响应,netstat命令显示
了所有当前连接,可以注意到netstat所返回的记录 5, 试着打开对方web服务器的网页,观察结果;
6, 试着同时多台机器对同一web服务器发起攻击,然后用一台机器登陆web服务器,
观察结果
七,试验数据记录与处理 此项可以不填 八,试验结果及分析
1、被攻击方配置Web服务器,打开的端口是80
2、被攻击方的IP地址为
3、使用C语言编写synflood攻击工具
其中c的攻击代码模拟了真实的谷歌浏览器发起tcp请求的情况,不仅仅是标准的ip头 + tcp 头还加上了tcp options字段,mss最大段大小、sack选择确认、window scale 窗口规模因子,大小总共66字节。
4、进行攻击
本次攻击使用的linux系统进行攻击的,其程序名为synflood,g攻击的IP地址是192.168.247.1 ,端口号是80
5、查看被攻击的效果
首先使用wiresshark进行抓包查看可以看到其接受到的全是SYN的数据包。
然后打开Windows任务管理器查看CPU的使用情况,并与进行攻击前后对比可以看
到有明显的波动。
图一 攻击前
图二 攻击后
6、打开服务器
在打开网页服务器时,进行发现与原来所打开的速度相比有放慢的迹象。
7、联合攻击测试
九,实验总结
更近一步的了解了TCP三次握手过程中的SYN-Flood攻击的原理,并在linux之上利用C语言编写的SYN-Flood程序对装有web服务器的主机进行攻击,并取得了一定的效果。
十,参考资料 《计算机网络》 《C语言程序设计》 《》
syn-flood攻击实验报告



