现代计算机网络实验之SYN flood攻击及SYN cookie原理分析

  • 环境(详细说明实验运行的操作系统,网络平台,机器的配置)
  1. 主机操作系统WIN10
  2. 开源虚拟机管理软件Oracle VM VirtualBox
  3. GNS3网络平台
  4. 两台SEEDUbuntu16.04 32位虚拟机
  • 实验目的
  1. 掌握VirtualBox构建SEEDUbuntu16.04 32位虚拟机
  2. 掌握网络虚拟平台GNS3构建网络拓扑结构
  3. 掌握SEEDUbuntud的ip配置命令
  4. 实现syn flood攻击并用wireshark进行抓包分析
  5. 理解linux内核SYN cookie机制对flood攻击的影响
  • 实验步骤(包括主要流程和说明)

1. 选择浙大镜像下载SEED虚拟机

2.利用VirtualBox新建SEEDUbuntu16.04-32

3.设置 SEEDUbuntu16.04-32的网络

4.完全复制一个作为SEEDUbuntu16.04-32target

5.利用GNS3来构建网络拓扑并在GNS3中启动2个虚拟机

 

 

6.配置两台虚拟机的ip地址和路由,SEEDUbuntu16.04-32的ip地址为192.168.1.1,SEEDUbuntu16.04-32target的ip地址为192.168.1.2

 

7.设置默认路由

8.测试是否连通

  • 实验结果和分析

1. SEEDUbuntu16.04-32target启动telnet服务,在SEEDUbuntu16.04-32使用netwox进行攻击

2.使用wireshark观察

3.进一步查看tcp syn cookie参数,并修改tcp_max_syn_backlog=5

4.修改参数tcp_syncookies=0,无法telnet到target,并用netstat –n –tcp发现5个SYN_RECV和1个TIME_WAIT,5个SYN_RECV已达到设置的半连接上限。

5.重新修改参数tcp_syncookies=1,telent成功。

 

6.tcp syn cookie原理分析

SYN Flood是一种典型的拒绝服务攻击,利用tcp协议中的三次握手过程进行攻击。由于TCP服务器在收到 tcp syn request 包时,在发送 tcp syn+ack 包回客户机前,此时连接状态为半打开连接。如果此时恶意攻击方伪造syn源地址,快速连续地发送此类连接请求,由于服务器的TCP连接数量有限,服务器可用TCP连接队列很快便会发生阻塞,从而造成拒绝服务,系统运行缓慢。

SYN Cookie机制用来防范这种SYN Flood攻击,主要方法就是针对TCP的三次握手进行一些修改。在第二次握手时,服务器不分配专门的数据区来维护一个未连接队列,而是根据SYN包来计算一个cookie值,并且将这个值作为将要返回的SYN+ACK包的初始序列号,当返回一个ACK包时,会根据包头信息计算cookie,此时cookie包含本次连接的状态信息,不给未确认的连接分配资源,只有cookie计算后和返回的确认序列号对比正确后才分配资源,建立连接。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值