当前位置: 首页 > ds >正文

一款高效、强大的子域名爬取工具,帮助安全研究者和渗透测试人员快速收集目标域名的子域名信息

🐟 GoogleFirefoxDomain

一款高效、强大的子域名爬取工具,结合 Google 和 Firefox 浏览器的优势,帮助安全研究者和渗透测试人员快速收集目标域名的子域名信息。

GoogleFirefoxDomain 是一款基于 Selenium 的子域名爬取工具,包含两个核心脚本:

GoogleDomain.py:利用Google搜索引擎爬取子域名,支持代理配置、多页爬取和自动重试

FirefoxDomain:基于 Firefox 浏览器,针对 DuckDuckGo 搜索引擎进行优化,修复了 “更多结果” 按钮点击问题

工具具备自动规避检测、模拟人类行为、结果自动保存和邮件通知等功能,为子域名收集工作提供全方位支持。

✨ 功能特点

通用特性

  • 🔍 多搜索引擎支持(Google + DuckDuckGo)
  • 🕵️ 反检测机制,模拟真实用户行为
  • 📁 自动创建结果文件夹并保存爬取数据
  • 📧 任务完成后自动发送邮件通知
  • 🔄 失败自动重试机制
  • 📊 详细的爬取统计信息
  • 🌈 彩色控制台输出,美观易读

GoogleDomain.py 特色

  • 🔗 多选择器适配不同页面结构
  • 🔄 连续空白页检测,智能终止爬取
  • 🔐 验证码自动检测与处理
  • 🌐 自定义代理支持
  • 📈 最多可爬取 99 页结果

FireFoxDomain.py 特色

  • 🦊 基于 Firefox 浏览器的深度爬取
  • 🔄 “更多结果” 按钮智能点击
  • 📜 详细的爬取过程展示
  • 🔍 多种链接选择器策略
  • 🌐 灵活的代理配置

🛠️ 安装指南

前置要求

  • Python 3.7 及以上版本
  • Google Chrome 浏览器
  • Mozilla Firefox 浏览器
  • 对应版本的 ChromeDriver 和 GeckoDriver

安装步骤

  1. 克隆仓库
git clone https://github.com/Bifishone/GoogleFirefoxDomain.git
cd GoogleFirefoxDomain
  1. 安装依赖库
pip install selenium tldextract colorama
  1. 下载浏览器驱动
    • ChromeDriver - 放置在系统 PATH 或脚本同级目录
    • GeckoDriver - 放置在系统 PATH 或脚本同级目录

🚀 使用方法

GoogleDomain.py 使用

# 爬取单个域名
python GoogleDomain.py --domain example.com# 从文件爬取多个域名
python GoogleDomain.py -f domains.txt# 使用自定义代理
python GoogleDomain.py --domain example.com --proxy 127.0.0.1:1080

FireFoxDomain.py 使用

# 爬取单个域名
python FireFoxDomain.py --command "site:example.com"# 从文件爬取多个域名
python FireFoxDomain.py -f domains.txt# 使用自定义代理
python FireFoxDomain.py --command "site:example.com" --proxy 127.0.0.1:1080

📋 参数说明

GoogleDomain.py 参数

  • --domain:单个目标域名(如:example.com)
  • -f, --file:包含多个域名的文件路径
  • --proxy:代理服务器(格式:host:port,默认:127.0.0.1:7890)

FireFoxDomain.py 参数

  • --command:搜索命令(格式:site:example.com)
  • -f:包含多个域名的文件路径
  • --proxy:代理服务器(格式:host:port)

📊 结果展示

爬取结果将保存在results文件夹中,文件名为:

  • Google 爬取结果:Google_results_<domain>.txt
  • Firefox 爬取结果:FireFox_results_<domain>.txt

同时,工具会在控制台显示爬取进度和结果统计,并在所有任务完成后发送邮件通知。

⚙️ 配置说明

可以通过修改脚本中的全局变量来调整工具行为:

# GoogleDomain.py 主要配置
MAX_PAGES = 99  # 最大爬取页数
MAX_RETRY = 20  # 域名最大重试次数
SCROLL_PAUSE = 1.0  # 页面滚动等待时间
DEFAULT_PROXY = "127.0.0.1:7890"  # 默认代理地址# FireFoxDomain.py 主要配置
SCROLL_PAUSE = 1.5  # 滚动等待时间
CLICK_RETRY = 2  # 按钮点击重试次数
MAX_EMPTY_ATTEMPTS = 99  # 最大连续空结果轮次

📧 邮件通知配置

工具默认配置了邮件通知功能,完成爬取后会发送统计信息到指定邮箱。可以在脚本中修改以下参数:

# 发送方信息
sender_email = "your_email@qq.com"
sender_password = "your_smtp_password"# 接收方信息
receiver_email = "recipient@example.com"

工具下载

https://github.com/Bifishone/GoogleFirefoxDomain
http://www.xdnf.cn/news/19900.html

相关文章:

  • 服务器数据恢复—OceanStor存储数据丢失原来这样恢复
  • HOW - 在浏览器下载一个 Excel 表格文件
  • 基于SpringBoot的大学生就业招聘系统
  • 撤回通知(我自己的账号)
  • 自建局域网gitlab如何修改提交时间
  • 不做推销做共情:一个小众独立站靠宠物殡葬用品,年营收超3600万元
  • 机器学习笔记-第二周
  • 力扣:2458. 移除子树后的二叉树高度(dfs序)
  • 基于单片机车流车速检测系统设计
  • C++字符串操作:string类与数组对比
  • MySQL知识大全
  • ansible循环+判断(with,loop,when,if,for)
  • Python爬虫进阶:面向对象编程构建可维护的爬虫系统
  • Babylon 编辑器快捷键小记
  • 零构建的快感!dagger.js 与 React Hooks 实现对比,谁更优雅?
  • Python OpenCV图像处理与深度学习:Python OpenCV DNN模块深度学习与图像处理
  • 线程安全问题及解决方案
  • 163起融资,梅卡曼德融资额夺冠,钉钉、百度智能云10周年,汉桑科技IPO| 2025年8月人工智能投融资观察 · 极新月报
  • Android --- 搭建JNI框架
  • % g++ *.cpp ...: fatal error: ‘opencv2/opencv.hpp‘ file not found 1
  • 数论常见公式定理大全
  • 无需服务器,免费、快捷的一键部署前端 vue React代码--PinMe
  • 嵌入式学习 51单片机基础
  • 《微服务协作实战指南:构建全链路稳健性的防御体系》
  • AR技术赋能风电运维:精准、高效、智能
  • 算法模板(Java版)_非负整数的高精度运算
  • 【论文阅读】Jet-Nemotron: 高效语言模型与后神经网络架构搜索
  • 研发团队缺乏统一文档模板怎么办
  • 服务器的监控和管理手段有哪些?
  • 【LeetCode牛客数据结构】单链表的应用——环形链表及链表分割问题详解