--->目录<---
|
/root/snap/chromium/common/chromium/DeferredBrowserMetrics
|
snap remove --purge chromium
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
现在执行gowitness只会在/tmp目录生成.pma文件了。/tmp里的.pma删了不影响程序执行。
如果gowitness一直执行,那么磁盘还是会被干爆。那么为了不影响服务器上的其他程序。我们可以将url文件分割成无数个,20个url放在一个url-*.txt文件中,执行完1个文件就删一次.pma文件。
separate.py #将域名文件分割成多个小文件
import os
# 创建存储 URL 文件的目录
output_dir = 'url'
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 读取 url.txt 文件
with open('url.txt', 'r') as file:
urls = file.readlines()
# 删除空行,并去除多余的空白字符(例如换行符)
urls = [url.strip() for url in urls if url.strip()]
# 对 URL 进行排序
urls.sort()
# 每 20 个 URL 存成一个文件
chunk_size = 20
file_counter = 1
for i in range(0, len(urls), chunk_size):
chunk = urls[i:i + chunk_size]
# 写入分割后的文件
output_file = os.path.join(output_dir, f'url-{file_counter}.txt')
with open(output_file, 'w') as f:
f.write("n".join(chunk) + "n") # 用换行符连接 URL
print(f'Created: {output_file}')
file_counter += 1
print("URL文件已成功分割并排序!")
run.py #执行一个文件删除一次缓存
import os
import time
import re
import subprocess
import glob
SCAN_DIR = "/*****/*****/" # 你的扫描目录路径
output_dir = 'url' # 存储分割文件的目录
chunk_size = 20 # 每个文件包含的 URL 数量
def run_gowitness(url_file):
"""执行 gowitness 扫描"""
subprocess.run([
f'{SCAN_DIR}gowitness', 'scan', 'file', '-f', url_file,
'--threads', '8', '--write-db', 'gowitness.sqlite3', '--delay', '5'
], check=True)
def get_sorted_files(directory):
"""获取目录下按数字排序的 url 文件"""
# 获取所有以 'url-' 开头并以 '.txt' 结尾的文件
files = [f for f in os.listdir(directory) if f.startswith('url-') and f.endswith('.txt')]
# 使用正则表达式提取文件名中的数字部分并排序
files_sorted = sorted(files, key=lambda f: int(re.search(r'(d+)', f).group(1)))
return files_sorted
def process_urls():
"""处理分割后的 URL 文件,每次执行后等待 30 秒"""
# 获取按数字排序的文件列表
url_files = get_sorted_files(output_dir)
# 依次处理每个分割后的文件
for url_file in url_files:
file_path = os.path.join(output_dir, url_file)
print(f"Processing {file_path}...")
# 执行 gowitness 命令
run_gowitness(file_path)
# 在等待前清理临时文件
print("Cleaning up temporary files...")
temp_files = glob.glob('/tmp/gowitness-v3-chromedp-*')
if temp_files:
subprocess.run(['rm', '-r'] + temp_files, check=True)
else:
print("No temporary files found to clean.")
# 等待 30 秒
print(f"Waiting for 30 seconds before processing next file...")
time.sleep(30)
# 执行处理
process_urls()
end
原文始发于微信公众号(偏远酒馆):关于新版本gowitness/snap强制占用磁盘解决方案
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论