dirsearch扫描的东西放在一起
时间: 2025-01-04 07:28:42 浏览: 15
### 如何收集和整理Dirsearch扫描结果
当执行Dirsearch进行目录扫描后,该工具会生成详细的输出文件来记录发现的内容。通常情况下,这些输出可以被保存为纯文本文件或JSON格式以便后续处理。
对于希望自动化这一过程并更高效地管理大量数据的情况,编写脚本来批量获取多个目标网站的结果是一个不错的选择。下面提供了一个Python脚本的例子,用于读取由Dirsearch产生的TXT格式的输出文件,并从中提取URL路径及其对应的HTTP状态码:
```python
import os
from collections import defaultdict
def parse_dirsearch_output(file_path):
"""解析单个Dirsearch TXT 输出文件"""
results = []
with open(file_path, 'r') as f:
lines = f.readlines()
for line in lines:
parts = line.strip().split() # 假设每行是以空格分隔的状态码和URL
if len(parts) >= 2 and parts[0].isdigit():
status_code = int(parts[0])
url = " ".join(parts[1:])
result_item = {
'status': status_code,
'url': url
}
results.append(result_item)
return results
def aggregate_results(directory):
"""遍历指定目录下的所有Dirsearch输出文件并将它们汇总在一起"""
aggregated_data = defaultdict(list)
for root, _, files in os.walk(directory):
for file_name in files:
if not file_name.endswith('.txt'):
continue
full_file_path = os.path.join(root, file_name)
parsed_items = parse_dirsearch_output(full_file_path)
for item in parsed_items:
key = (item['status'], item['url'])
aggregated_data[key].append({
'source_file': file_name,
**item
})
return dict(aggregated_data)
if __name__ == "__main__":
output_directory = "/path/to/dirsearch/output/files"
all_results = aggregate_results(output_directory)
# 打印部分结果作为示例展示
for k, v in list(all_results.items())[:5]:
print(f"Status {k[0]}, URL: {k[1]} found in:")
for entry in v:
print(f"- File: {entry['source_file']}")
```
此代码片段展示了如何通过编程方式访问存储于本地磁盘上的Dirsearch日志文件,并将其转换成易于分析的形式。这有助于快速识别特定模式或异常情况,从而提高工作效率[^1]。
阅读全文