功能 • 安装 • 运行 • 泛域名 • 许可证 • Discord
shuffleDNS 是一个围绕 massdns 的封装工具,使用 Go 编写,允许你通过主动暴力枚举来发现有效子域名,同时支持子域名解析、泛域名处理以及简便的输入输出。
基于 @blechschmidt 的 massdns 项目工作。
shuffledns -h
将显示工具的帮助信息。以下是所有支持的参数。
shuffleDNS 是一个围绕 massdns 的封装工具,使用 Go 编写,允许你通过主动暴力枚举来发现有效子域名,同时支持子域名解析、泛域名处理以及简便的输入输出。
用法:
./shuffledns [flags]
标志:
标志:
输入:
-d, -domain string[] 要查找或解析子域名的域名
-ad, -auto-domain 自动提取根域名
-l, -list string 包含待解析子域名列表的文件
-w, -wordlist string 包含用于暴力枚举域名的字典文件
-r, -resolver string 包含用于枚举的解析器列表的文件
-tr, -trusted-resolver string 包含受信任解析器列表的文件
-ri, -raw-input string 验证原始的完整 massdns 输出
-mode string 执行模式(bruteforce、resolve、filter)
速率限制:
-t int 并行 massdns 解析数量(默认 10000)
更新:
-up, -update 更新 shuffledns 到最新版本
-duc, -disable-update-check 禁用自动 shuffledns 更新检查
输出:
-o, -output string 写入输出结果的文件(可选)
-j, -json 以 ndjson 格式输出
-wo, -wildcard-output string 将泛域名 IP 转储到输出文件
配置:
-m, -massdns string massdns 二进制文件路径
-mcmd, -massdns-cmd string 可选的 massdns 命令参数(例如 '-i 10')
-directory string 枚举使用的临时目录
优化:
-retries int DNS 枚举的重试次数(默认 5)
-sw, -strict-wildcard 对所有发现的子域名进行泛域名检查
-wt int 并行泛域名检查数量(默认 250)
调试:
-silent 输出仅显示子域名
-version 显示 shuffledns 版本
-v 显示详细输出
-nc, -no-color 输出不使用颜色
前置要求 |
shuffledns 需要 go1.24+ 才能成功安装。运行以下命令安装最新版本:
go install -v github.com/projectdiscovery/shuffledns/cmd/shuffledns@latest
shuffledns 支持两种操作类型:
子域名解析
要解析一个子域名列表,可以通过 -list 选项传递子域名列表。
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt -mode resolve
这将针对 example-subdomains.txt 中的子域名运行工具并返回结果。工具使用 -r 标志指定的解析器进行解析。
你也可以通过标准输入(STDIN)传递子域名列表。这样可以方便地集成到自动化流程中。
subfinder -d example.com | shuffledns -d example.com -r resolvers.txt -mode resolve
这将使用 subfinder 被动发现的子域名,并用 shuffledns 进行解析,仅返回唯一且有效的子域名。
子域名暴力枚举
shuffledns 还支持使用给定字典对目标进行暴力枚举。你可以使用 -w 标志传递一个字典文件,该字典将用于生成排列组合,并通过 massdns 进行解析。
shuffledns -d hackerone.com -w wordlist.txt -r resolvers.txt -mode bruteforce
这将针对 hackerone.com 运行工具,使用字典 wordlist.txt。域名暴力枚举也可以像之前解析子域名的示例那样通过标准输入进行。
echo hackerone.com | shuffledns -w wordlist.txt -r resolvers.txt -mode bruteforce
处理泛域名
|
-d)输入时有效。shuffledns 采用 GPL v3 许可证 进行分发。
shuffledns 需要安装 massdns 才能执行操作。你可以在 massdns 项目 查看安装说明。如果将二进制文件放置在 /usr/bin/massdns 或 /usr/local/bin/massdns,工具会自动检测并使用该二进制文件。在 Windows 上,需要提供二进制文件的路径才能正常工作。
工具还需要一个有效的解析器列表。dnsvalidator 项目可用于生成这些列表。你还需要提供字典文件,可以使用自定义字典或使用 commonspeak2-wordlist。