想查一个域名下的所有子域名,最快的方法是先把证书透明度日志翻一遍,再用DNS枚举和第三方平台交叉补充,三路数据合并后才能接近“全部”这个目标。
这个结论不是我拍脑袋想出来的,是做了几年域名信息收集后踩出来的经验,子域名不会乖乖列成一张表在某个地方等你抄,它们散落在DNS记录里、SSL证书签发日志里、搜索引擎的索引里,甚至散落在别人家的网页代码里,你只有从不同入口去捞,才能拼出一张相对完整的全景图。
下面我按实际操作顺序,把方法、工具和坑都拆开讲清楚。
域名下所有子域名怎么查:先理解子域名暴露的四个渠道
子域名之所以能被查到,是因为它内网外网都存在可见痕迹,行业共识认为,超过八成的子域名并非靠暴力破解猜出来的,而是从公开数据里直接挖出来的。
证书透明度日志,CA机构在签发SSL证书时会把证书记录公开到CT日志里,任何域名只要申请过证书,所有子域名和绑定域名都会留痕,想查一个域名下的所有子域名,CT日志是目前覆盖最广、更新最快的来源。
DNS枚举和暴力破解,每个子域名在DNS服务器里都有一条记录,你用字典去猜去碰,能试出一批不依赖证书记录的子域名,这类记录在CT日志里可能查不到,但DNS里真实存在。
第三方聚合平台,SecurityTrails、VirusTotal、DNSDumpster这类平台把CT日志、whois记录、历史DNS解析和自己的爬虫数据汇总到一起,做成搜索入口,你刚创建不久的测试子域名,CT日志里可能还没收录,但某些平台的爬虫已经扫到了。
搜索引擎收录,百度、必应这类搜索引擎对有独立页面的子域名站点会有索引记录,用site语法能把一部分子域名挖出来,但搜索引擎收录范围有限,只能当补充手段。
理解了这个底层逻辑,你就明白为什么只用一个工具查不全子域名:每个来源都有盲区,必须交叉验证。
查子域名的免费工具哪个最靠谱:实测对比
免费工具的选择比你想象中多,但质量参差不齐,我按数据来源和使用场景分成了四类,前两个是网页端,懒人首选,后两个是命令行,适合批量操作。
第一类:网页端即查即用
- crt.sh:直接查CT日志,输入域名点搜索,结果按证书签发时间排列,它的数据最原始、最全,但格式简陋,结果经常重复,需要自己清洗,查询时把域名写成
%.example.com能查到更多结果。 - DNSDumpster:免费无需注册,把子域名、邮件服务器、DNS记录做成了图表展示,直观程度远超其他平台,它也会顺带把ASN和MX记录标出来,对你的信息收集很有帮助。
-
SecurityTrails:免费版每天有查询次数限制,但它的历史DNS数据和子域名回溯功能是全网少有的,你在其他平台看不到的历史解析记录,它这里能找到。
第二类:命令行批量接口
- subfinder:Go语言写的开源工具,聚合了30多个数据源,包括CT日志、被动DNS、证书搜索等,安装方便,一条命令就能跑出所有子域名。
- amass:OWASP出品的沉重心型选手,自带数据源key配置,扫描时不仅查CT日志,还会做DNS枚举、网络爬虫和API关联,它的扫描结果比大多数网页版工具都全,但速度也慢得多。
- dnsenum / dnsrecon:老牌DNS枚举工具,内置字典跑暴力破解,适合在没有网页端可用时的快速排查。
那这些工具之间有什么区别?我整理了一张对比表供你参考:
| 工具名 | 数据来源 | 适用场景 | 复杂程度 | 费用 |
|---|---|---|---|---|
| crt.sh | CT日志数据 | 快速查询公开子域名 | 低 | 免费 |
| DNSDumpster | 聚合DNS数据,可视化 | 图形化查看子域名 | 低 | 免费 |
| SecurityTrails | 历史DNS数据 | 追查旧子域名或已删除记录 | 中 | 免费限量,付费无限 |
| subfinder | 30+公开数据源聚合 | 自动化批量收集 | 中 | 免费开源 |
| amass | CT + DNS枚举 + API | 全面细致扫描 | 高 | 免费开源 |
| dnsenum | DNS字典爆破 | 补充CT日志覆盖不到的口子 | 高 | 免费开源 |
我的建议是:日常查一个域名下所有子域名,先用crt.sh加DNSDumpster快速过一遍,再用subfinder把结果合并去重,不需要一上来就上amass,它会把你的耐心耗光。
用命令行工具批量查询子域名,这一步别跳过
网页端查询帮你解决“快”的问题,但如果你想认真把子域名查全,最好还是学会用命令行工具,大多数人第一次接触子域名查询时都担心命令复杂,实际上真正需要记的命令不超过五条。
先装subfinder,这是一条覆盖面广且学习成本低的命令:
subfinder -d example.com -all -silent
-all参数会触发它的全部数据源,-silent参数关掉多余输出,只把结果打印出来,整个过程十几秒,你会拿到一份基础子域名清单。
再跑dnsenum做字典破解:
dnsenum --enum example.com
它会先从DNS服务器获取NS和MX记录,然后自动启动字典跑一轮暴力枚举,跑出来的子域名可能就是CT日志里没有的,注意这一步会消耗较多时间,如果域名很老,字典也得花几分钟。
最后把两路的输出汇总:
subfinder -d example.com -silent | dnsx -o subdomains_all.txt
dnsx是一个解析工具,它会自动只保留能真实解析的子域名,杀掉那些废弃的、无法访问的记录,这样你最后拿到的就是一份能用的清单。
这里要特别提醒一个陷阱:泛解析,不是你查到一条DNS记录就真的存在一个独立子域名,很多域名配置了泛解析把所有请求都指向同一个IP,验证方法是随机敲一串乱码前缀拼上域名,如果能解析,说明存在泛解析,那你爆破出来的结果里大部分是无意义记录,需要用dnsx二次过滤。
拿到子域名清单后,怎么分辨哪些值得跟进
把所有子域名查出来只是第一步,真正花时间的是筛选有价值的目标,你面对的可能是一百多个子域名,其中有老后台、有废弃的测试站、有登录页面,也有静态资源服务器。
按优先级排序处理,判断标准很简单:
- 子域名对应IP是否为内网IP或云服务器地址,如果是,往往意味着能在公网访问到内部服务。
- 加上端口访问后是否返回登录页面,处于登录状态但未授权,则需要进一步分析。
- 是否指向第三方SaaS服务,CNAME到别的平台时可能暴露目标企业正在使用的业务系统。
- 是否存在历史内容没被清除的测试环境,这类子域名最容易残留敏感文件。
有些查询子域名的朋友会问,到底该不该直接访问这些子域名?我的回答是:公开信息收集是你的权利,但一旦涉及到登录界面拦截、漏洞测试或未授权访问,性质就变了,把数据收好,把信息整理干净,你不越界就不会惹麻烦。
子域名查询的局限性:查不到的不代表不存在
我必须提前给你打个预防针:无法通过任何工具查到一个域名下所有子域名的完整清单,原因在DNS架构本身就设计了隐私性。
内网DNS和私有域名解析记录,在公网任何入口都不可见,比如某个域名下的erp.internal.company.com只在公司内网DNS服务器上有记录,你在外面再怎么查也查不到,还有一部分子域名只被拖到证书里,连证书都没申请的无加密子域名,CT日志同样覆盖不到。
业内专家指出,在CT日志、被动DNS数据库、搜索引擎三个渠道都搜不到的子域名还有相当一批,如果对方刻意使用了“域前置”或私有DNS架构,你能查到的信息就更少,这就是为什么别人给你看一份子域名查询报告时,你要知道这是“能收集到的子域名”,而不是“全部子域名”。
不同平台的查询结果差异很大,同一个域名在crt.sh上查到120条,在VirusTotal上可能只有60条,在SecurityTrails上又有你之前没见到的几条,任何单一工具的结果都不完整,多平台对比才能把误差降到最低。
子域名查询的真实应用场景,你是不是也用得上
专门查一个域名下的所有子域名,通常只有三种情况:做安全测试、做资产盘点、做竞品分析。
安全测试场景下,子域名暴露面越大,潜在风险入口越多,多数常规渗透项目中,子域名收集是信息收集模块的最前排动作,用工具跑完后把子域名再拿去解析,就能获得一个目标机构的网络资产清单。
资产盘点场景通常是企业自己的运维人员在做,很多公司自己都不知道自己有多少子域名散落在哪些服务器上,等出了事故才回头查,大中型企业的域名资产梳理频率往往达到每季度一次,用脚本自动化查询就成为了刚需。
竞品分析场景则有趣得多:对手新上线了什么业务,往往从启用的子域名里能看出端倪,看到beta.竞品.com或activity.竞品.com一出现,你就知道对方的产品动向提前暴露了。
你若是在做网站GEO优化,子域名查询同样用得上你可以检查自己的网站是不是被搜索引擎收录了太多杂散子域名,导致权重被稀释,把废弃的子域名清理掉,主站排名都可能小幅回升,这也是GEO基本功之一。
子域名查询怎么配合其他信息使用
子域名本身只是一串字符串,它的价值在于和其他数据关联后产生的信息增益。
把查到的子域名批量解析成IP,再对这些IP做端口扫描,这是最常见的信息收集路线,很多子域名和主站并不在同一台服务器上,解析出的IP往往暴露了目标的CDN供应商、办公网出口、云服务器分区,将这些数据汇总起来,你就能还原出对方的基础设施架构。
把这个思路再往前推一步:你可以把某个子域名在VirusTotal上溯源,能看到过去几年解析到过哪些IP,绑定过哪些CNAME,挂过哪些云厂商,再把这些数据拼起来,对方从AWS迁到简米云、换过一次企业邮箱服务商的轨迹都清晰可见。
所以建议你养成习惯:子域名查询结果一定要落到解析这一步,只收集子域名不解析,信息价值连一半都不到。
关于如何查询一个域名下的所有子域名,核心打法就一句话:CT日志为主,DNS爆破为辅,多个平台交叉核对,再配合解析验证。 这套流程走下来,你能得到的子域名列表已经超过绝大多数人在社交媒体或论坛里能查到的散碎信息,真正的天花板从来不是工具不够好,而是你是否愿意多花半小时做数据清洗和分析。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/619389.html





