拒绝服务与分布式拒绝服务(DOS/DDOS)

本文详细解释了DOS和DDoS攻击的概念,重点介绍了SYN-Flood攻击的原理,涉及三次握手过程和利用Scapy工具实施攻击的方法。同时提到了如何通过iptables配置防火墙防止RST包发送。
摘要由CSDN通过智能技术生成

DOS与DDOS攻击概念说明

Denial of Service

拒绝服务攻击(DoS,Denial-of-Service)是一种网络攻击方式,目的是使目标系统、网络或服务无法正常运行,从而使合法用户无法访问或使用它们。DoS攻击通常通过向目标系统发送大量的请求或攻击数据包,耗尽其网络带宽、处理能力或资源,从而导致系统崩溃或无法正常工作。用一句话概括就是利用程序漏洞或一对一资源耗尽的方法对服务端发起的攻击。

Distributed Denial of Service

DDoS(Distributed Denial of Service)是一种分布式拒绝服务攻击,是对目标系统进行拒绝服务攻击的一种高级形式。与传统的DoS攻击相比,DDoS攻击利用了多个攻击源(可能是多个被感染的计算机或“僵尸”机器)同时发起攻击,以增加攻击的规模和威力。也用一句话概括就是多对一的攻击汇聚资源能力,重点在于量大,属于资源耗尽型。

图解

相比于DDOS,DOS这种一对一的攻击方式完全拼各自的资源,攻击效果比较差。

拒绝服务攻击协议

SYN-Flood

SYN-Flood(syn泛洪攻击)是典型的DOS攻击,效果是使服务器的TCP连接资源耗尽,影响到正常用户发出的的TCP连接请求。具体的原理是什么呢?

SYN-三次握手原理

从我们熟知的syn三次握手讲起:通信的双方最少得经过3次成功的信息交换才能进入连接全开状态(Full-Open),建立TCP连接的3次握手。

1、在连接时,客户端对访问的服务器端发送SYN包(seq = x),自身进入SYN_SENT的状态。

2、服务器端收到客户端发来的SYN包,进行确认,回复ACK包 (ack = x + 1)。并且也发送一个SYN包(seq = y),同时进入SYN_RECV的状态。(服务器端的同步序列号(seq x)和客户端的同步序列号(seq y)可能相同也可能不同。)

3、客户端收到了ACK与SYN包,最后对服务端的SYN包也进行确认,发送ACK包(ack = y + 1),成功进行三次握手,建立ESTABLISHED的连接状态。

SYN-Flood攻击原理

那么回到SYN泛洪攻击,也就是在三次握手上做手脚。当服务器端对客户端发送了SYN、ACK包后,照理客户端要进行ACK包的回应,但此时客户端可以不按规矩来,故意将自己的ACK包进行限制发送,那么服务器端所对应的端口则是持续的半开状态,且被客户端这方的连接请求给“干耗”着。

由于网络通信并不总是稳定,会有丢包的风险,所以服务器端不会马上中断该客户端的请求,而是积极的进行反馈(重发SYN-ACK报文),直到服务器端设置的Timer为止。那么在timer所设置的时间内,我只要并发连接请求将服务器端的所有连接端口占满,那正常用户就无法进行访问,SYN_Flood攻击就形成了。

我们可以利用python脚本对目标进行SYN_Flood攻击。

第一步安装Scapy

'Linux Mint和kali机运行终端并输入下行代码'
apt-get install python-scapy

'CentOS用以下代码'
yum install scapy

第二步配置防火墙组织RST包的发送

iptables -A OUTPUT -p tcp --tcp-flags RST RST -d 192.168.21.117 -j DROP

第三步运行syn-flood脚本实现攻击

chmod +x syn_flood_cmd.py
python3 syn_flood_cmd.py -t 192.168.0.1 -p 443 -c 20
# -t 接想要攻击的服务器端
# -p 接攻击的服务端端口
# -c 接线程

以下是对自家电脑攻击的结果(请勿随意攻击和使用造成损失后果自负!!)

被攻击电脑视角:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值