没有哪个单一工具能查全主域名下的所有子域名,安全高效的路径是:先被动收集,再受控主动枚举,最后做DNS解析和HTTP探活验证,并且只在授权范围内操作。
如何查询主域名下的所有子域名?先理解数据来源
子域名查询不是“输入域名点一下按钮”就结束,它更像拼图:公开数据给你一部分,DNS枚举补另一部分,最后还要验证哪些真的活着。
子域名不是靠猜,而是靠证据链
常见证据来源可以分成两类:
- 被动数据:证书透明度日志、被动DNS、搜索引擎快照、代码仓库、GitHub、JS文件、招聘信息、历史Whois。
- 主动数据:DNS字典爆破、NSEC Zone Walking、DNS区域传送、虚拟主机探测、HTTP爬虫。
- 验证数据:A记录、AAAA记录、CNAME、HTTP状态码、页面标题、TLS证书。
据OWASP测试指南,信息收集是渗透测试和攻击面管理的第一步,NIST SP 800-115也强调,资产发现必须和范围界定同步做,换句话说,查得全不全是一回事,查得合不合规是另一回事。
泛解析和CDN会让结果“虚胖”
很多人跑完字典发现几万条子域名,实际可用的没几条,原因通常是泛解析。
处理方法不复杂:
- 先解析一个随机子域名,例如
random123456.example.com。 - 如果它返回了IP,说明目标可能存在泛解析。
- 把解析到相同IP或相同CNAME的随机结果过滤掉。
- 再看CNAME是否指向CDN、云厂商、WAF。
- 对只有CNAME没有A记录的条目,单独标记,不要直接当成业务资产。
子域名查询工具有哪些免费和付费区别?工具选型看数据源
工具没有绝对强弱,关键看它背后接了什么数据源,免费工具适合入门和日常巡检,商业API通常有更长的历史DNS记录和更完整的资产标签。
在线子域名查询工具哪个好用?对比几个常见入口
| 入口/工具 | 类型 | 典型优点 | 典型局限 | 适合场景 |
|---|---|---|---|---|
| crt.sh | 证书透明度 | 免费、公开、可查历史证书 | 未上证书的子域名不出现 | 初步测绘 |
| Censys | 被动扫描 | 证书、服务、端口信息较全 | 免费额度有限 | 企业资产发现 |
| VirusTotal | 被动DNS+情报 | 历史解析记录多 | 查询频率受限 | 攻击面排查 |
| SecurityTrails | 被动DNS | 历史DNS较完整 | 商业API按量计费 | 持续监控 |
| subfinder | 开源聚合 | 多源调用、速度快 | 需要配置API Key | 快速收集 |
| amass | 开源枚举 | 主动+被动、深度强 | 耗时较长 | 授权测试 |
| dnsx | DNS验证 | 批量解析、过滤方便 | 不负责发现 | 结果验证 |
| httpx | HTTP探活 | 状态码、标题、技术栈 | 不发现子域 | 存活确认 |
开源工具组合:subfinder、amass、dnsx、httpx
实操可以这样串起来:
- 用subfinder做多源被动收集:
subfinder -d example.com -all -silent -o subfinder.txt
- 用amass做被动枚举:
amass enum -passive -d example.com -o amass.txt
- 用证书透明度补充历史子域名:
curl -s "https://crt.sh/?q=%25.example.com&output=json" | jq -r '.[].name_value' | sed 's/\.//g' | sort -u > ct.txt
- 合并去重:
cat subfinder.txt amass.txt ct.txt | sort -u > all_subs.txt
- DNS批量解析:
dnsx -l all_subs.txt -a -resp -silent -o resolved.txt
- HTTP探活:
httpx -l resolved.txt -status-code -title -tech-detect -silent -o alive.txt
这套流程的好处是:被动收集不直接碰目标,主动解析只查DNS,HTTP探活再确认Web服务,每一步都能留下证据。
子域名查询API多少钱?商业接口的计费逻辑

商业子域名查询API通常按查询次数阶梯计费,企业版还会按资产数量、监控频率、历史数据深度定价,免费版一般有调用上限,适合验证流程,不适合大规模持续监控。
据厂商公开定价页,价格差异主要来自三点:
- 是否提供历史DNS记录。
- 是否支持批量查询和实时告警。
- 是否允许商业用途和二次分发。
选型时不要只看“子域名查询工具价格”,还要看数据更新频率、API稳定性、是否支持IPv6和CNAME链。
主动DNS枚举:字典、限速和验证
被动收集完成后,主动枚举用来补盲区,前提是:你对目标有书面授权。
主动DNS枚举的实操流程
- 准备字典:常见前缀、业务词、环境词、地域词、缩写。
- 使用puredns或massdns做高速解析:
puredns bruteforce words.txt example.com -r resolvers.txt --rate-limit 50 -o brute.txt
- 控制并发:
--rate-limit不要设得太高,公共DNS也可能限流。 - 合并被动和主动结果:
cat all_subs.txt brute.txt | sort -u > final_subs.txt
- 再次解析和探活:
dnsx -l final_subs.txt -a -resp -silent -o final_resolved.txthttpx -l final_resolved.txt -status-code -title -tech-detect -silent -o final_alive.txt
泛解析检测和结果验证
验证阶段重点看这些字段:
- A记录、AAAA记录是否存在。
- CNAME是否指向CDN、对象存储、SaaS服务。
- HTTP状态码是200、301、403还是404,是否为空、是否默认页。
- TLS证书里的SAN是否包含其他子域名。
如果发现泛解析,建议用随机子域名生成一组“噪声IP”,再和真实结果比对,解析到噪声IP的条目优先降权。
北京企业做安全测试时,子域名收集怎么做?安全与效率平衡
地域和场景会影响合规要求,比如北京企业做等保测评、攻防演练或第三方渗透测试时,子域名收集通常要写入授权书,明确域名范围、IP范围、时间窗口和禁止动作。

授权边界和限速策略
- 只查授权清单内的主域名和子域名。
- 不做未授权爆破、不碰非目标资产。
- 主动枚举设置低速率,避开业务高峰。
- 使用公共DNS或自建解析器,避免打爆目标权威DNS。
- 保留操作日志,方便审计和复盘。
据工信部数据,未授权扫描和漏洞利用是网络安全事件的重要来源之一,行业共识认为,资产发现本身不是问题,问题在于是否获得授权、是否控制影响。
持续监控比一次性查询更重要
子域名会新增、下线、换IP、换证书,一次性查询只能得到快照,更实用的做法是:
- 每周跑一次被动收集。
- 每月跑一次受控主动枚举。
- 对新出现的子域名做告警。
- 把结果接入CMDB、攻击面管理平台或漏洞管理系统。
把工具串成流程,而不是堆工具
安全高效的主域名子域名查询方法,核心是“被动优先、主动受控、验证闭环、授权先行”。 工具会更新,数据源会变化,但这套流程长期有效。
主域名子域名查询常见问答
如何查询主域名下的所有子域名才不遗漏?
没有方法能保证100%不遗漏,更现实的目标是提高覆盖率:证书透明度补历史,被动DNS补解析记录,搜索引擎和代码仓库补影子资产,DNS字典补未公开前缀,最后用dnsx和httpx验证存活,多源合并去重,比单工具反复跑更有效。
子域名查询工具免费和付费差距大吗?
差距主要在历史数据深度、API频率、批量能力和告警功能,免费工具适合学习、小规模巡检和初步排查,商业API适合企业持续监控、攻击面管理和合规审计需求,选型时先看数据源,再看价格,最后看是否支持导出和自动化。
子域名枚举会不会违法?
未授权对非自有资产进行子域名爆破、端口扫描或漏洞探测,可能触犯《网络安全法》等法律法规,对自有资产或已获得书面授权的目标做枚举,也要控制频率和影响范围,授权范围、时间窗口和操作日志,是安全测试的最低要求。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/911065.html


评论列表(3条)
读了这篇文章,我深有感触。作者对被动的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!
@smart532er:这篇文章的内容非常有价值,我从中学习到了很多新的知识和观点。作者的写作风格简洁明了,却又不失深度,让人读起来很舒服。特别是被动部分,给了我很多新的思路。感谢分享这么好的内容!
@smart532er:读了这篇文章,我深有感触。作者对被动的理解非常深刻,论述也很有逻辑性。内容既有理论深度,又有实践指导意义,确实是一篇值得细细品味的好文章。希望作者能继续创作更多优秀的作品!