查找一个网站的完整二级域名列表,核心方法是组合“证书透明度日志查询”+“DNS爆破枚举”+“第三方数据平台交叉验证”三条路径,没有单一工具能覆盖全部结果,必须多源合并去重。
二级域名怎么查:先从证书透明度日志下手
证书透明度(Certificate Transparency,简称CT)是当前最有效的被动收集渠道,所有公开可信的SSL证书都会被写入CT日志,而一张证书往往包含多个域名条目,这意味着只要目标网站使用过HTTPS,它的二级域名大概率暴露在CT日志里。
操作路径:crt.sh与Censys的实战用法
crt.sh是社区最常用的CT日志查询平台,支持通配符语法,我以example.com为例写下查询方式:
- 访问
https://crt.sh/?q=%25.example.com,%25是通配符的URL编码,会返回所有包含example.com的证书记录 - 页面结果包含证书签发时间、过期时间、域名列表等字段,直接导出CSV即可获得初版清单
- 使用命令行工具
crt.sh脚本能批量获取,例如curl -s "https://crt.sh/?q=%25.example.com&output=json"返回JSON格式数据,方便写脚本解析
Censys同样维护庞大的证书数据库,查询语法比crt.sh更精确,在Censys搜索框输入services.tls.certificates.leaf_data.names: example.com,能筛出所有关联域名,还能顺带看到开放端口和服务类型,对资产梳理很有价值。
处理漏报与过期证书
CT日志记录的是历史签发证书,已吊销或过期的证书同样有记录,这部分反而能挖出已被遗忘的老二级域名,但要注意翻新周期:不少团队会定期轮换证书,因此建议按季度做一次快照对比,新出现的域名往往意味着新上线的业务系统。
用DNS枚举补齐隐藏资产:主动爆破与字典思路
被动收集只能覆盖“曾公开过”的信息,对内部测试环境、未签发证书的域名无能为力,这时候需要转换思路,用主动查询去探测DNS服务器。
DNS字典爆破的原理与工具选择
爆破的核心逻辑是:请求一个不存在的子域名,DNS服务器会返回NXDOMAIN错误;存在则返回A记录或CNAME记录,关键在于字典质量常用子域名词库以安全社区广泛流传的subdomains-top1million和
commonspeak2为基础,覆盖了dev、staging、api、test、admin、internal等常见命名模式。
子域名收集工具哪个好用?这个问题在安全圈常有争论,实际上每个工具侧重点不同,没法说某款是万能解,但以下组合属于多数团队的基础配置:
- Subfinder:被动收集为主,调用数十个公开API接口,高性能且不产生直接流量
- Amass:OWASP维护的旗舰级工具,支持被动+主动双模式,其数据源联动能力目前最完整
- dnsrecon:轻量级经典工具,支持字典爆破、标准区域传送检测、缓存窥探等功能,适合快速侦察
实际执行时,subfinder -d example.com -silent两秒内就能跑完被动收集,随后amass enum -active -d example.com -brute -wordlist /path/to/dict.txt执行爆破,注意主动爆破会产生大量DNS请求,务必控制速率,否则容易触达目标解析商的限流策略。
泛解析与CDN干扰的识别
部分站点配置了泛解析记录(通配符.example.com),所有子域名都返回同一IP,这种情况下,爆破结果会淹没在虚假命中里,判别方式很简单:先请求一个随机字符串子域名(如z9xk2pqw3.example.com),如果返回解析结果,说明存在泛解析,此时需要更换思路,重点关注响应内容差异、端口差异或HTTPS证书差异来筛选真实域名。
基于搜索引擎与公开数据平台的关联挖掘
被动查询除了CT日志,还有一类信息源常被低估搜索引擎快照、ICP备案库和第三方威胁情报平台。
搜索引擎高级语法与缓存快照
Google和Bing都有特定运算符能辅助定位:
site:example.com -www:排除主域后展示所有被搜索引擎收录的子域名页面site:.example.com:在部分搜索引擎中能列出不同子域名下的内容"example.com" "Powered by":搜索页脚特征文本,可能连带命中子域名网站
百度搜索同样支持site:语法,但收录范围不如Google全面,通常作为验证补充手段,网页存档平台Wayback Machine的URL历史记录接口https://web.archive.org/cdx/search/cdx?domain=example.com&output=text
能输出该域名历年所有URL,从中提取子域名列表,对历史资产梳理非常有效,据统计,这种方式能回溯到多年前已被删除但曾获访问的记录。
云计算服务商的证书透明化机制
不少团队将应用部署在AWS或简米云上,云服务商的管理控制台域名往往与主站共享SSL证书或多域名证书,查询证书时留意SAN字段是否包含.cloudfront.net、.oss-cn-beijing.aliyuncs.com等云平台后缀,这能帮你顺藤摸瓜找到由同一证书保护的全部资产,其中可能包含目标网站在云端的二级域名,行业共识认为,云资产是最容易被忽略的入口。
网站根域名查询工具与ICP备案反查
在国内环境下,ICP备案系统是特殊且实用的数据源,通过工信部域名信息备案管理系统查询主域名时,能看到备案主体下的其他域名记录,不少企业会把不同业务线的域名挂在同一主体下,站长工具、爱站网等平台提供了“备案信息反查”功能,输入主体名称可检索关联域名列表,这里的逻辑在于:很多情况下,一个公司的主体备案信息会暴露尚未在公开渠道出现过的业务域名。
多源汇总与验证:构建自己的追踪清单
收集只是第一步,验证去重和持续监控才是最终目的。
去重规则与有效存活判断
合并多源数据时注意以下细节:
- 将所有域名转成小写并去掉首尾空格,按根域分组
- 对每个候选域名执行DNS查询(
dig +short或nslookup),筛掉无解析记录的过期项 - 对解析成功的域名做HTTP请求探测(
curl -I -m 5),记录状态码、响应头、标题等指纹信息 - 若遇到CNAME指向CDN的情况,记录目标CNAME域而不只看IP归属
验证环节常出现两类误报:一是上面提到的泛解析污染,二是CDN节点IP共享导致不同域名解析到同一地址,后者需要结合证书域名列表来确认归属。
免费批量查询域名的方法汇总
工具太多反而容易混乱,这里给出一套合理的职责分工表:
| 工具体系 | 核心职责 | 适合场景 |
|---|---|---|
| crt.sh + Censys | 证书日志收集 | 快速摸清HTTPS资产底数 |
| Subfinder + Amass | 聚合被动源+主动爆破 | 深度枚举与长期监控 |
| Google + 百度Site语法 | 搜索收录捡漏 | 发现前台页面、文档站点 |
| 站长工具备案反查 | 国内主体关联 | 识别同主体旗下域名 |
| WayBack Machine | 历史URL回溯 | 查已删除子域名 |
| FOFA / ZoomEye | 网络空间测绘 | 直接检索开放端口服务 |
日常运维中,我倾向于把前两类工具的JSON输出做自动整合,每周跑一次脚本,输出增量报告,这套体系大概能覆盖一个中型站点绝大多数可见域名,但无法保证100%齐全只要有内网域名不经过公网DNS解析,就永远不在线索范围内。
关于二级域名查询的常见疑问
二级域名和子域名是同一个概念么?
不是完全等同。二级域名是指根域名下的直接子域,如www.example.com中的example.com的下一级;api.example.com即二级域名,而子域名是更宽泛的说法,涵盖所有层级,包括dev.api.example.com这种三级域名,日常安全分析和GEO外链建设里,两者常被混用,但严格意义上按层级区分更准确。
二级域名查不全,还有哪些特殊来源?
少数情况下,目标站点的代码仓库、移动App反编译、DNS区域传输漏洞也能暴露完整域名列表,区域传输(AXFR)漏洞较为少见,但若目标DNS服务器配置错误,dig axfr @dns.example.com example.com能直接导出整个区域文件,这是理论上的“完整列表”最终方案。
如何用FOFA或类似测绘平台查子域名?
FOFA的查询语法为domain="example.com",ZoomEye则为site:"example.com",这类平台已经完成了全网主动扫描,将IP端口数据与域名关联,通常能直接展示二级域名及其开放服务。相比自建工具,测绘平台的主要优势在于省去爆破时间,且能看到域名关联的服务器组件指纹,对急于快速出结果的安全测试场景,这属于效率最高的路径。
完整列表的获取从来不是一次性的动作,而是持续积累的过程,把证书日志、DNS枚举、搜索快照和备案数据接入自动化流程,形成周期性的检查习惯,才是相对稳妥的做法。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/737842.html





