使用教程-DoS攻击原理与实战(LOIC+Hping3)

1、DoS概述html

DoS(Denial of Service,拒绝服务)攻击是指攻击者利用系统及协议漏洞大量消耗网络带宽以及系统CPU、内存等资源,使得其余合法用户不能及时获得服务器的响应。DoS攻击即“一对一”的攻击。git

DDoS分布式拒绝服务攻击,指“多对一”的攻击,即存在大量“僵尸机”多同一个服务器进行DoS攻击,产生的后果及影响比DoS攻击更加严重。http://www.digitalattackmap.com/ 该网站能够查看DDoS全球实时攻击发布。服务器

2、DoS攻击实践网络

使用LOIC工具进行攻击

    LOIC工具能够在网站下载:https://sourceforge.net/projects/loic/  LOIC简称卢瓦或低轨道离子炮(low orbit lon cannon),是最知名的DoS攻击工具之一,支持TCP/UDP/HTTP 洪水攻击。如下是DoS实验过程:分布式

  • 打开wireshark准备抓包分析
  •  在win7虚拟机中运行LOIC,输入攻击目标的URL或IP,这里以www.baidu.com为例,而后选择协议、线程数以及你所想要的请求速度,点击右上角开始按钮,DoS攻击开始,此时可观察wireshark抓取的包
  • 开始TCP洪水攻击,基于三次握手,通过几秒钟,中止请求,可在右下角看见此时请求数量已达三万多

        查看wireshark抓取的数据包,可见客户端一直没有给服务器端发送ACK报文,而是一直不断地向服务器端发送链接请求,致使服务端忙于处理批量的链接请求,而没有空余资源能够处理其余正经常使用户的访问,致使服务器瘫痪。工具

 

  • 开始UDP洪水攻击  将协议改成UDP便可。

使用UDP洪水攻击的原理是向目标端口发送大量无用的UDP报文来占满目标的带宽,致使目标服务器瘫痪。网站

  • 开始HTTP洪水攻击  此攻击类型主要攻击目标是使用https协议的Web服务器上的访问服务,当发生攻击时攻击者向被攻击服务器大量高频的发送请求服务,使服务器忙于向攻击者提供https响应资源从而致使不能想正常的合法用户提供请求响应服务。

 

使用hping3 进行SYN泛洪攻击

SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应 报文将永远发送不到目的地,那么被攻击端在等待关闭这个链接的过程当中消耗了资源,若是有成千上万的这种链接,主机资源将被耗尽,从而达到攻击的目的。url

hping命令格式:spa

# hping3 -c[设置数据包的个数] -d[设置每一个数据包的大小] -S[发送SYN数据包] -w[设置TCP 窗口大小]  -p[设置目标端口] --flood[快速发送数据包] --rand-source[随机ip地址] testsite.com[目标ip或网址]

注:使用hping3工具进行DoS攻击可以使目标主机发现不了你的ip地址,由于有参数--rand=source ,致使目标机器不能定位你的实际IP,也可使用-a或--spoof隐藏主机名。下面进行演示:使用命令:.net

# hping3 -c 5000 -d 100 -S -w 64 -p 80 --flood --rand-source www.baidu.com

ICMP洪水:ICMP是(Internet Control Message Protocol,网络控制报文协议 ) 该攻击在短期内向目标主机发送大量ping请求包,消耗主机资源,当目标系统响应攻击者发出的大量的  ping请求超出系统的最大承受限度时,目标系统资源就会耗尽殆尽,形成系统瘫痪或者没法正常提供其余服务。 目前使用ICMP洪水进行DoS攻击的状况已很少见,如图所示,攻击者在对目标进行ICMP洪水攻击时,100%ICMP包丢失,说明目标一个ICMP包都没有接收,这是由于如今大多数防火墙都已经设置ICMP包过滤机制,使得攻击者发起的ICMP洪水在目标网络边界就已经被过滤并丢弃,致使攻击无效。

hping3 -c 5000 -d 100 -a 2.2.2.2 --icmp --flood www.baidu.com #使用-a伪造源地址。

 

“390924 packets transmitted, 0 packets received, 100% packet loss”