Subdominator配置教程:API密钥管理与环境变量设置完全指南
2026/7/27 14:16:31 网站建设 项目流程

Subdominator配置教程:API密钥管理与环境变量设置完全指南

【免费下载链接】SubdominatorSubDominator helps you discover subdomains associated with a target domain efficiently and with minimal impact for your Bug Bounty项目地址: https://gitcode.com/gh_mirrors/su/Subdominator

Subdominator是一款高效的子域名枚举工具,专为漏洞赏金猎人设计,能帮助你轻松发现目标域名关联的子域名,且对目标影响极小。本文将详细介绍如何配置API密钥和环境变量,让Subdominator发挥最佳性能。

核心配置文件解析

Subdominator的配置系统主要依赖两个核心文件,它们共同管理API密钥和运行时参数:

provider-config.yaml:API密钥管理中心

这个YAML格式的配置文件是所有第三方服务API密钥的存储中心。当你首次运行Subdominator时,系统会自动在默认路径创建该文件:

~/.config/Subdominator/provider-config.yaml

文件采用"服务名: [密钥列表]"的结构,支持为同一服务配置多个密钥(自动轮询使用):

censys: [your_censys_id:your_censys_secret] shodan: [your_shodan_api_key] securitytrails: [your_securitytrails_api_key]

settings.py:环境变量与运行时参数

src/subdominator/core/settings.py定义了Subdominator的所有环境变量和运行时参数。通过SUBDOMINATOR_前缀的环境变量,你可以灵活覆盖默认设置,例如:

class RuntimeSettings(BaseSettings): model_config = SettingsConfigDict(env_prefix="SUBDOMINATOR_", extra="ignore") timeout: float = 20.0 # 环境变量: SUBDOMINATOR_TIMEOUT retries: int = 3 # 环境变量: SUBDOMINATOR_RETRIES concurrency: int = 8 # 环境变量: SUBDOMINATOR_CONCURRENCY proxy: str | None = None # 环境变量: SUBDOMINATOR_PROXY # 更多参数...

Subdominator Logo - 高效子域名枚举工具

快速上手:API密钥配置步骤

步骤1:定位配置文件

使用以下命令快速找到配置文件路径:

subdominator --show-config-path

输出示例:

/home/user/.config/Subdominator/provider-config.yaml

步骤2:编辑配置文件

用文本编辑器打开配置文件,为需要的服务添加API密钥:

nano $(subdominator --show-config-path)

步骤3:常用服务配置示例

以下是几个常用服务的配置格式:

  • Censys(需要ID和密钥):

    censys: [your_id:your_secret]
  • Shodan(单个API密钥):

    shodan: [your_api_key]
  • SecurityTrails(单个API密钥):

    securitytrails: [your_api_key]
  • 多个密钥(自动轮询使用):

    shodan: [key1, key2, key3]

步骤4:验证配置

通过列出资源命令验证配置是否生效:

subdominator --list-resources

在输出中,标记*的服务表示需要API密钥,配置成功后这些服务将被激活。

高级配置:环境变量设置

环境变量提供了一种无需修改配置文件即可临时或永久调整Subdominator行为的方式。

常用环境变量

环境变量作用示例
SUBDOMINATOR_TIMEOUT设置请求超时时间(秒)export SUBDOMINATOR_TIMEOUT=30
SUBDOMINATOR_RETRIES设置请求重试次数export SUBDOMINATOR_RETRIES=5
SUBDOMINATOR_PROXY配置HTTP代理export SUBDOMINATOR_PROXY=http://proxy:8080
SUBDOMINATOR_CONCURRENCY设置并发数export SUBDOMINATOR_CONCURRENCY=16

临时生效方式

在命令前直接添加环境变量:

SUBDOMINATOR_TIMEOUT=30 subdominator -d example.com

永久生效方式

将环境变量添加到shell配置文件(~/.bashrc或~/.zshrc):

echo 'export SUBDOMINATOR_CONCURRENCY=16' >> ~/.bashrc source ~/.bashrc

配置验证与故障排除

检查API密钥有效性

使用健康检查命令验证API配置是否正常:

subdominator --health-check

查看资源状态

使用详细输出模式运行枚举,检查各服务是否正常工作:

subdominator -d example.com -v

在输出中,你可以看到每个服务的执行状态和发现的子域名数量。

Subdominator命令行输出示例,显示子域名枚举结果

常见问题解决

  1. 服务未激活:确保配置文件中服务名称与src/subdominator/core/provider_config.py中定义的名称一致。

  2. 密钥被拒绝:检查密钥是否正确,部分服务需要先注册账户才能使用API。

  3. 配置文件权限:确保配置文件有正确的读写权限:

    chmod 600 $(subdominator --show-config-path)

最佳实践与注意事项

密钥安全管理

  • 权限控制:确保配置文件只有你自己可读写(chmod 600
  • 备份策略:定期备份配置文件,避免密钥丢失
  • 密钥轮换:按照服务提供商建议定期轮换API密钥

性能优化配置

根据目标和网络环境调整以下参数获得最佳性能:

  • 并发数:网络良好时可提高到16-32(SUBDOMINATOR_CONCURRENCY=32
  • 超时时间:对响应慢的服务可适当增加(SUBDOMINATOR_TIMEOUT=30
  • 重试次数:不稳定网络环境下增加重试(SUBDOMINATOR_RETRIES=5

资源选择策略

使用--include-resources--exclude-resources参数灵活选择枚举资源:

# 只使用指定资源 subdominator -d example.com -ir censys,shodan,securitytrails # 排除特定资源 subdominator -d example.com -er facebook,github

通过合理配置API密钥和环境变量,Subdominator将成为你子域名枚举工作中高效可靠的工具。记住,正确的配置不仅能提高枚举效率,还能避免不必要的API调用限制和错误。

【免费下载链接】SubdominatorSubDominator helps you discover subdomains associated with a target domain efficiently and with minimal impact for your Bug Bounty项目地址: https://gitcode.com/gh_mirrors/su/Subdominator

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询