用python实现SYN Flooding攻击

作业里的代码,直接这里copy在这里记录一下。

 

 

在TCP/IP协议中,当客户端试着与服务器间创建TCP连接时,正常情况下客户端与服务器端进行TCP三次握手:

1. 客户端通过发送SYN同步(synchronize)信息到服务器要求创建连接。
2. 服务器通过响应客户端SYN-ACK以抄收(acknowledge)请求。
3. 客户端答应ACK,连接随之建立。

当开放了一个TCP端口后,该端口就处于Listening状态,不停地监视发到该端口的Syn报文,一 旦接收到Client发来的Syn报文,就需要为该请求分配一个TCB(Transmission Control Block),通常一个TCB至少需要280个字节,在某些操作系统中TCB甚至需要1300个字节,并返回一个SYN ACK命令,立即转为SYN-RECEIVED即半开连接状态,而某些操作系统在SOCK的实现上最多可开启512个半开连接。如果恶意的向某个服务器端口发送大量的SYN包,则可以使服务器打开大量的半开连接,分配TCB,从而消耗大量的服务器资源,同时也使得正常的连接请求无法被相应。而攻击发起方的资源消耗相比较可忽略不计。

本代码中发了一万个SYN包,源IP地址是从10.200.101.3到255(可根据需要更改)随机选取的,源端口在49512到65535范围内,目标IP为10.200.101.2,目标端口为80。

以上信息都可以根据实际需求更改。

此代码仅供交流和学习,请勿用于攻击他人和商业行为,违者后果自负。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值