子域名集合是信息收集的核心环节,通过组合爆破、证书透明度和搜索引擎等技巧,可系统化获取目标子域名,为后续测试或资产梳理奠定基础。
子域名枚举方法详解
子域名爆破:基础但有效
子域名爆破是用的最多的方法,逻辑是拿着字典一个个去试DNS解析,你需要在本地准备一个常见子域名列表,然后用工具并发请求,工具会帮你过滤掉不存在的域名,只留下解析成功的记录。
操作上,以主流工具subfinder为例,命令很简单:
subfinder -d example.com -o subs.txt
它会自动调用内置字典,同时结合多种数据源,如果你要手动爆破,dnsx配合puredns是常见组合,先准备字典subdomains.txt,然后运行:
dnsx -d example.com -w subdomains.txt -o resolved.txt
关键点:字典质量决定成果,基础字典一般包含几千个常用词,但针对特定行业(如电商、金融)需要定制,多数情况下,使用通用字典能覆盖六七成,但想要更全,就得结合下面几种方法。
证书透明度:被动收集利器
证书透明度日志是公开的,任何SSL证书申请信息都会被记录,所以你可以通过查询这些日志拿到目标域名下的所有子域名,这属于被动收集,不会触发目标请求。
常用工具crt.sh,直接在浏览器访问https://crt.sh/?q=%25.example.com即可看到结果,想批量操作,可以用curl配合jq:
curl -s "https://crt.sh/?q=%.example.com&output=json" | jq '.[].name_value' | sort -u
除了crt.sh,还有certspotter、entrust等日志源。行业共识认为,证书透明度能拿到相当一部分子域名,尤其是那些配置了HTTPS的站点,而且数据更新快,适合作为轮询监控手段。
搜索引擎:挖掘公开信息
搜索引擎的缓存和索引经常会暴露子域名,只需要用site语句就能搜到:site:.example.com,如果你再加个-www,能把主站结果去掉,更聚焦子域名。

各种搜索引擎结果有差异,同时用Google、Bing、百度效果更好,比如在Google里搜site:.example.com intitle:login,可能直接找到登录后台的子域名。统计显示,搜索引擎能捕获大约一成到两成的子域名,虽然量不大,但往往包含意想不到的资产。
DNS记录分析:从根源入手
查看目标域的DNS解析记录,也能发现子域名线索,比如NS记录指向的服务器可能托管其他子域名,MX记录可能暴露邮件服务器域名,用dig命令可以快速获取:
dig example.com ANY +short
更深入的,可以尝试AXFR区域传输,如果目标DNS服务器配置不当,你就能拿到整个域名的记录,不过这种漏洞现在很少见,但查一下不亏。CNAME记录经常指向第三方服务,也可能暗示其他子域名。
子域名收集工具哪个好用
主流开源工具对比
市面上工具很多,我按使用场景挑几个代表:
| 工具 | 数据源 | 特点 | 适用场景 |
|---|---|---|---|
| subfinder | 证书、搜索引擎、DNS等十几处 | 被动为主,速度极快 | 初期快速收集 |
| amass | 几十种数据源,可主动爆破 | 功能全面,但较慢 | 深度枚举 |
| httpx | 配合其他工具用 | 存活探测和Web指纹 | 验证结果有效性 |
| puredns | 只做DNS解析 | 去重和泛解析过滤强 | 大字典爆破 |
subfinder适合日常用,一条命令就能拿到不少结果。amass更激进程,但需要配置API,而且跑完可能要十多分钟,如果你追求效率,先用subfinder,再用amass补充,这样比较省时间。
在线工具与平台
不想装工具,可以用在线站点。crt.sh刚才提过,还有SecurityTrails

、Shodan、Censys,都提供子域名查询功能,直接输入域名,几秒就能看到结果。
这些网站多数免费,但高级功能要付费,比如SecurityTrails的免费版每天查询次数有限,但足够个人测试用。Shodan侧重网络设备,能发现非标准端口的子域名。子域名查询网站免费的选项里,crt.sh和RapidDNS(rapiddns.io)是比较靠谱的,数据更新及时,界面也简单。
如何选择适合你的工具
选工具主要看你的目标:
- 如果只是日常自检,一个subfinder加crt.sh就够了。
- 如果是渗透测试前期,建议组合使用:subfinder做被动收集,加上amass爆破,再用httpx验证存活。
- 如果你需要持续监控,可以写脚本定时拉取crt.sh数据,配合diff工具跟踪变化。
工具价格方面,开源工具完全免费,在线平台的基础功能也是免费的,但如果你要大量查询,考虑流量和API次数,可能得买付费版,比如SecurityTrails的API按查询量计费,月费几十美元,对个人偏贵,多数情况下,免费额度足够覆盖大部分场景。
子域名集合的实战技巧
提高爆破效率的配置
爆破速度取决于字典大小和并发数,但并发太高容易被封,建议控制在100-200并发。泛解析是常见干扰:有些DNS会把所有子域名都解析到同一个IP,这种情况需要过滤。puredns有内置的泛解析过滤,命令加--wildcard-batch参数即可。
字典方面,可以合并多个来源,比如danielmiessler/SecLists里的subdomains-top1million-5000.txt作为基础,再添加行业特有的词,比如api, dev, admin, test, app, static等。业内专家指出,只需要几百个常用词就能覆盖大部分常见子域名,但想挖到隐藏的后台,字典得做得更大。
多源数据合并与去重
不同工具拿到的结果会有重叠,也可能有错误,合并时用sort -u就能去重,但要注意有些结果会带前缀,需要处理。

cat subfinder.txt amass.txt crt.txt | sed 's/^\.//' | sort -u > all.txt
然后验证存活:用httpx或httprobe批量检查哪个子域名能访问,命令:
cat all.txt | httpx -o alive.txt
这样你拿到的就是可用的子域名列表,后续可以针对这些域名做端口扫描或漏洞测试。
验证子域名是否存活
DNS解析成功不代表服务可用,有些子域名虽然解析到IP,但对应的Web服务可能已经关闭,或者返回403、404,所以验证存活是必要步骤。
httpx能自动识别状态码,你可以加-status-code参数查看,如果想更精细,可以指定-mc 200只保留正常响应的页面。子域名劫持风险也需要关注:如果CNAME指向第三方服务但未配置,你可以尝试注册该服务来接管,验证时重点关注那些解析到云服务(如AWS S3、GitHub Pages)但显示404的子域名。
子域名集合常见问题解析
子域名枚举是否会被目标发现?
主动爆破会产生大量DNS查询,可能被目标记录,如果目标有监控,会看到异常流量,但证书透明度和搜索引擎查询是被动的,不会触发目标。建议:先做被动收集,再用小字典低速爆破,这样隐蔽性更强。
子域名收集工具有免费的吗?
绝大多数工具和平台都有免费版,subfinder、amass都是开源免费,在线平台crt.sh、RapidDNS完全免费,SecurityTrails和Shodan的免费额度也够个人使用,付费版主要提供更快的API速率和更多数据源,对普通用户来说不是必须。
子域名查询网站哪个可靠?
crt.sh最稳定,数据直接来自证书日志,实时性高,RapidDNS界面简洁,查询速度快,SecurityTrails的数据更全面,但免费版有限制。建议:同时使用crt.sh和RapidDNS交叉验证,能得到更准确的结果。
子域名集合不是一次性工作,而是需要持续迭代的过程,把被动收集和主动爆破结合起来,配合定期验证,才能让资产清单保持完整。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/678464.html


评论列表(3条)
这篇文章写得非常好,内容丰富,观点清晰,让我受益匪浅。特别是关于比如的部分,分析得很到位,给了我很多新的启发和思考。感谢作者的精心创作和分享,期待看到更多这样高质量的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是比如部分,给了我很多新的思路。感谢分享这么好的内容!
这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是比如部分,给了我很多新的思路。感谢分享这么好的内容!