通过域名服务商的DNS解析记录查询、使用在线反查工具进行被动收集、利用搜索引擎的site:语法进行索引筛选。 没有任何单一工具能给出100%完整的列表,实际排查需要组合使用。
用DNS解析记录查二级域名是最直接的方式
二级域名的定义是主域名下的直接子层级,blog.example.com 中的 blog example.com 的二级域名,如果你有域名管理权限,查询方式非常简单。
通过域名注册商后台查看
登录你购买域名的服务商控制台,找到“域名解析”或“DNS管理”面板,这里会列出所有手动添加的解析记录,包括A记录、CNAME记录、MX记录等,每条记录的主机记录值就是二级域名的前缀。
- 简米云:控制台 → 域名 → 解析设置
- 酷番云:DNSPod → 域名解析 → 记录管理
- Cloudflare:选中域名 → DNS → Records
这里能看到自己添加的记录,但查不到其他人在同一域名下自行添加的子域名,除非他们也有该域名的解析权限。
使用命令行工具查询DNS记录
无需登录任何后台,直接用系统自带的命令就能查,打开终端或命令提示符,输入:
nslookup -type=any example.com
Windows系统推荐使用 nslookup,macOS和Linux可以使用 dig 命令,输出更详细但格式稍复杂:
dig example.com any
这个方法能查到所有公开的DNS解析记录,包括一些你可能遗忘的旧子域名,但有个局限:如果某个二级域名设置了私有DNS或未对外解析,就查不到。
通过DNS历史记录查询被删除的子域名
不少站长会删除旧子域名的解析记录,但数据仍留存在DNS历史数据库中,国内常用的查询平台包括站长之家和爱站网,国际平台有SecurityTrails和ViewDNS.info,这类工具能看到某个域名历史上解析过的所有二级域名,对安全分析和找回遗忘的子系统很有价值。
被动收集:不碰服务器也能查二级域名
在没有域名管理权限,但需要了解某个主域名下挂载了哪些二级域名时,就要靠被动信息收集了。
在线二级域名查询工具有哪些
业内比较常用的有以下几个类别:
- 证书透明度日志:crt.sh、Censys,SSL证书签发记录会暴露域名,搜索 通配符即可匹配该域名下所有证书包含的子域名
- 搜索引擎:Google、百度的高级搜索语法
- 第三方测绘平台:FOFA、ZoomEye、Shodan,国内用户常用FOFA,规则是
domain="example.com",能直接返回所有被扫描到的子域名
对于“查询二级域名”这个需求,这类工具覆盖面最广,以crt.sh为例,打开网站输入 %.example.com,几秒内就能返回几百条历史证书记录,每一条都指向一个曾经的二级域名。
用site:命令查二级域名的局限性
在搜索引擎输入 site:example.com 能搜到大量该域名下的页面,但这些结果的排名和收录情况会掩盖真实的子域名数量,搜索引擎只索引了部分页面,未收录的二级域名完全不会出现在结果里,因此这个方法适合快速了解大致规模,不适合作为完整清单的依据。
通过Robots协议文件收集子域名
访问目标域名的 /robots.txt 文件,很多站长会在其中声明允许或禁止爬虫抓取的目录,文件中 Allow: 和 Disallow: 后面的路径若包含完整子域名,就直接暴露了二级域名的存在。Disallow: /admin/ 只是目录限制,但 Disallow: http://old.example.com/ 就是一个完整的二级域名。
主动验证:确认查询到的二级域名是否真实存在
通过上述方法收集到候选域名后,需要验证它们是否真的解析成功。
批量Ping测试
将收集到的子域名列表保存为文本文件,使用Ping命令批量检查,Windows下可以用 for /F %i in (list.txt) do ping -n 1 %i,macOS/Linux下用 while read i; do ping -c 1 $i; done < list.txt,能收到回包的即为活跃域名,超时的则可能已停用。
使用浏览器直接访问
这个方法适用于需要确认子域名是否对外提供服务时,在地址栏输入 http://old.example.com 或 https://old.example.com,观察返回状态码,若显示连接被重置或DNS解析失败,则该域名基本已废弃,若返回403或404,说明服务器存在但内容已迁移或受保护。
检查HTTPS证书是否匹配
有的子域名关闭了HTTP访问但保留了HTTPS,访问 https://子域名.example.com,若浏览器提示证书无效,说明该域名可能仍在运行但证书已过期,或者服务器配置了与其他域名共用的证书。
真实场景:如何用组合策略查询某个域名的二级域名
以一个具体场景来演示完整查询思路假设要查询 jd.com 这个主域名下的二级域名收录情况。
第一步,先访问crt.sh,输入 %.jd.com,将返回的证书记录复制到文本中,此时能获得约几十到上百条包含时间戳的记录,每条记录对应一个历史的二级域名。
第二步,用FOFA或Shodan这类测绘引擎搜索 domain="jd.com",这一步能补充未申请证书的纯内网子域名,这类域名不对外曝光但在扫描中会留下指纹特征。
第三步,将前两步获取的域名列表去重后,批量执行DNS解析验证,这里推荐使用Python脚本调用 socket.gethostbyname() 函数检查,比命令行Ping效率更高。
第四步,对已确认活跃的二级域名,逐个访问首页并记录HTTP状态码,状态码为200的标记为“存活的公开服务”,403/401的标记为“需身份验证”,404的标记为“可能已下线”。
这套流程下来,能还原出该主域名大部分对外可见的子域名资产,业内专家指出,被动数据源覆盖率通常在70%至80%之间,主动扫描能补充约一成,剩余的则属于完全隐藏的内部系统,仅靠公开渠道无法触及。
常见误区与注意事项
- 不要把泛解析误认为独立二级域名,若主域名设置了
.example.com的泛解析,任何随机前缀都会被DNS解析到同一服务器,此时查询工具会“发现”大量无实际意义的子域名 - CDN节点的子域名不归属主站,很多企业用简米云、酷番云CDN时会分配随机子域名,这类域名在证书日志中频繁出现,但并非主站自建的二级域名
- 过期证书记录不等于活跃域名,SSL证书有效期通常为一年,过期后未续费的二级域名可能早已停止服务
- 二级域名是三级目录不能等价
。
example.com/shop不是二级域名,只有shop.example.com才是
| 查询方法 | 适用人群 | 优势 | 局限 |
|---|---|---|---|
| DNS解析记录 | 域名所有者 | 准确率最高 | 仅能看到自己添加的记录 |
| 证书透明度日志 | 安全分析人员 | 覆盖历史记录 | 存在大量失效或过期证书 |
| 在线测绘平台 | 渗透测试、合规审计 | 覆盖面最广 | 免费版有查询次数限制 |
| 搜索引擎语法 | 普通用户 | 免注册即用 | 收录不完全 |
| robots.txt | 快速侦察 | 简单直接 | 依赖站长主动声明 |
查询二级域名需要授权吗
根据《网络安全法》和《数据安全法》,对非本人所有的域名进行大规模子域名探测,可能涉嫌非法获取计算机信息系统数据。 如果查询的目的是安全测试或学术研究,务必先获得目标所有者的书面授权,仅查看域名解析记录或者利用公开搜索引擎,不进行端口扫描和漏洞探测,一般属于被动信息收集,但用于商业竞争分析时仍应谨慎。
行业共识认为,治理数据泄露和资产暴露的风险,首先要摸清自身二级域名的家底,与其等到被扫描工具发现漏洞,不如定期主动检查一次,至少每半年用工具交叉核对一次DNS记录与证书台账,能有效避免“影子资产”的出现,查询二级域名的过程本质上是给网络资产做一次人口普查,准确性取决于数据源的多样性和交叉验证的严格程度。
二级域名查询和子域名枚举有什么区别
二级域名特指距主域名最近的一层,m.example.com,而子域名是更宽泛的概念,m.all.example.com 也是子域名,但它是三级域名,做查询时若有人提到“子域名枚举”,指的多是递归发现所有层级的域名,方法同样适用于二级域名查询,只是范围更深、工作量更大,多数情况下,使用上述工具查询二级域名的结果就已经包含了三级、四级域名,想要数据完整,过滤时只需去掉前缀层级即可。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/641897.html




