使用
dig
查询子域名时,可通过指定类型(如A
、NS
)或结合通配符探测。 ,1. **直接查询**:dig sub.example.com A
获取指定子域名解析; ,2. **域传送检测**:dig example.com AXFR
尝试列出所有子域名(需服务器允许); ,3. **枚举爆破**:配合字典生成请求,如dig {word}.example.com
,筛选有效响应。 ,注意:域传送可能涉及安全风险,需获得授权后操作。也可结合工具(如dnsrecon
)提升效率。
正文开始
互联网世界中,子域名是主域名下的分支(如blog.example.com
是
example.com 的子域名),常用于功能模块划分或业务扩展,快速精准地发现子域名,是网络安全评估、运维排查和业务分析的重要环节,本文将详解如何通过
dig` 命令实现子域名查询,并分享高阶技巧与合规操作指南。
一、dig 命令基础:DNS查询的核心工具
dig
(Domain Information Groper)是Linux/Unix系统内置的DNS解析工具,以灵活性和准确性著称,其基础语法为:
dig [选项] [域名] [查询类型]
示例:查询example.com
的A记录:
dig example.com A
若已明确子域名名称(如mail.example.com
),可直接执行:
dig mail.example.com +short
+short
参数仅返回IP地址,简化输出。
部分域名会在NS、MX等记录中暴露子域名。
dig example.com MX +answer
输出中可能包含mailserver.example.com
等子域名信息。
通过预设字典批量猜测子域名,结合脚本自动化查询:
for sub in $(cat subdomains.txt); do dig $sub.example.com +nocmd +noall +answer; done
注意:此方法需获得目标所有者授权,避免触犯法律。
使用+trace
参数模拟递归查询,观察完整解析路径:
dig example.com +trace
可能发现未被公开的子域名服务器(如ns1.internal.example.com
)。
通过NS
记录获取域名权威服务器,再直接向其查询子域名:
dig example.com NS +short dig @ns1.example.com example.com AXFR
注意:区域传输(AXFR)通常被限制,需权限方可执行。
sublist3r:聚合搜索引擎、证书透明度等数据源
sublist3r -d example.com
dnsrecon:自动化DNS枚举工具
dnsrecon -d example.com -t std
1、授权优先:未经许可不得扫描他人域名,避免违反《网络安全法》。
2、速率控制:高频查询可能触发防火墙拦截,建议添加延迟:
dig example.com +time=3 +retry=1
3、隐私保护:避免查询敏感域名(如政府、医疗类),防止数据泄露风险。
Q:dig查询无结果,是否意味着子域名不存在?
A:不一定,可能是DNS缓存未更新、查询类型错误(如仅查询A记录但子域名配置CNAME),或目标启用泛解析(* wildcard)。
Q:如何批量导出查询结果?
A:使用重定向保存输出:
dig example.com > output.txt
Q:Windows系统如何使用dig?
A:安装Bind工具包(https://www.isc.org/bind/)或使用WSL运行Linux环境。
1、ISC官方文档:BIND 9 配置指南
2、Sublist3r GitHub仓库:https://github.com/aboul3la/Sublist3r
3、RFC 1035:DNS协议标准
正文结束