以下我将从基础方法到专业工具,为你详细介绍如何查询公司所有域名,并附上注意事项。

核心思路
查询公司域名资产主要有三大思路:
- 公开信息挖掘:通过搜索引擎、证书透明度日志、公开数据泄露等渠道查找。
- 主动技术探测:使用工具主动扫描和猜测可能存在的域名。
- 商业数据服务:购买专业的商业数据库,它们整合了海量来源的数据。
基础免费方法(适合初学者和快速检查)
搜索引擎高级搜索
这是最简单直接的方法,利用搜索引擎的强大索引能力。
- 语法:使用
site:指令。 - 操作:
- 在 Google 或 Bing 等搜索引擎中输入:
site:company.com(将company.com替换为目标公司的主域名)。 - 这会返回所有被该搜索引擎收录的、以
company.com结尾的域名。
- 在 Google 或 Bing 等搜索引擎中输入:
- 进阶技巧:
- 查看相关域名:
related:company.com - 查找包含公司名的域名:
"公司名称" 域名或"company name" domain
- 查看相关域名:
- 优点:简单、快速、免费。
- 缺点:结果不完整,依赖搜索引擎的索引范围,很多子域名可能未被收录。
公开证书透明度日志
这是目前最有效、最权威的方法之一,当网站启用 HTTPS 时,其 SSL/TLS 证书的颁发信息会公开发布在“证书透明度”日志中。
- 原理:任何为
*.company.com这样的通配符证书或具体子域名颁发的证书,都会记录在案。 - 工具:
- crt.sh (强烈推荐): 一个非常强大的证书搜索引擎。
- 访问 https://crt.sh/
- 在搜索框中输入目标公司的主域名
%.company.com(使用 作为通配符)。 - 点击查询,它会返回所有匹配的证书信息,其中就包含了大量的子域名。
- Censys Search: https://search.censys.io/
- 在搜索框中输入
parsed.names: company.com。 - 可以得到非常详细和结构化的结果。
- 在搜索框中输入
- crt.sh (强烈推荐): 一个非常强大的证书搜索引擎。
- 优点:数据来源权威、更新及时、能发现大量隐藏的子域名。
- 缺点:只包含启用了 HTTPS 的域名。
子域名查找工具网站
一些网站专门收集和整理子域名信息。

- VirusTotal: https://www.virustotal.com/
- 在搜索框中输入域名,然后切换到 "Subdomains" 标签页。
- 它会整合多个来源的数据,包括其自身的扫描和社区提交。
- SecurityTrails: https://securitytrails.com/
提供免费的子域名历史记录查询功能,可以看到一个域名历史上曾经拥有过的所有子域名,非常有价值。
- AnubisDB: https://joshi.su/anubisdb/
一个庞大的子域名数据库,可以通过其搜索接口查询。
专业工具方法(适合安全研究员和高级用户)
如果你需要更全面、更深度的结果,可以使用专业的命令行工具进行自动化扫描。
Sublist3r
一个用 Python 编写的子域名枚举工具,它会整合多个公共数据源进行查询。
# 安装 git clone https://github.com/aboul3la/Sublist3r.git cd Sublist3r pip install -r requirements.txt # 使用 python sublist3r.py -d company.com
Amass
一款功能极其强大的子域名发现工具,是 OWASP 项目的推荐工具,它不仅可以使用被动数据源,还能主动进行网络探测(如 DNS 查询、爬虫等)。
# 安装 (推荐通过 Go) go install -v github.com/OWASP/Amass/v4/... # 使用 (被动模式) amass enum -passive -d company.com # 使用 (主动+被动模式,效果最好但耗时最长) amass enum -active -d company.com
Subfinder
现代、快速的子域名发现工具,专注于被动数据源的收集,速度非常快。
# 安装 (推荐通过 Go) go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest # 使用 subfinder -d company.com
OneForAll
一个功能强大的 Python 脚本,整合了多种子域名查询方法,并支持多线程和代理。
# 安装 git clone https://github.com/shmilylty/OneForAll.git cd OneForAll pip install -r requirements.txt # 使用 python oneforall.py --target company.com
商业数据服务(适合企业和专业机构)
商业服务通过购买、爬取和整合全球范围内的数据,提供最全面、最准确的域名资产视图。
- Shodan: 全球最大的物联网搜索引擎,可以通过
ssl.cert.subject: company.com等语法查找相关的设备和证书。 - Criminal IP: 类似于 Shodan 的网络空间搜索引擎。
- Spyse: 一个在线的攻击面管理平台,提供详细的域名、IP、DNS 等信息。
- Farsight Security / DNSDB: 提供海量的 DNS 历史数据查询。
优点:数据量巨大、覆盖面广、更新及时、通常提供 API 接口。 缺点:价格昂贵,通常按查询次数或订阅费收费。
综合策略与最佳实践
为了获得最完整的结果,建议采用组合拳策略:
-
第一步(快速普查):
- 使用
crt.sh和SecurityTrails这两个免费但强大的工具,快速获取一个高质量的域名列表,这是性价比最高的方法。
- 使用
-
第二步(深度挖掘):
- 使用
Amass或Subfinder等工具进行被动和主动扫描,这可以发现一些因为配置问题(如泛解析)或未被证书透明度记录的域名。
- 使用
-
第三步(验证与整理):
- 将所有查询到的域名汇总到一个列表中。
- 使用
httpx或massdns等工具对域名进行存活状态验证。 - 使用
assetfinder或其他脚本去重。 - 最终整理成一个干净的、按重要性排序的域名清单。
⚠️ 重要注意事项
-
法律与道德合规:
- 仅限授权范围:绝对不要对未经授权的公司进行域名资产扫描,这可能被视为网络侦察或攻击前的踩点行为,是违法的。
- 明确目的:此操作通常用于:
- 红队测试:在获得客户书面授权后,模拟攻击者进行攻击面评估。
- 蓝队防御:公司内部人员自查,发现暴露在外的资产并进行加固。
- 竞品分析:在合法合规的前提下,了解竞争对手的网络布局。
- 学术研究。
-
数据准确性:
- 没有任何方法是100%完美的,总会存在遗漏(“假阴性”)或误报(“假阳性”)。
- 域名是动态变化的,今天存在的域名明天可能就被废弃了。
-
避免噪音:
扫描可能会对目标公司的 DNS 服务器造成轻微负载,请务必控制扫描频率和并发数,避免成为 DDoS 攻击的一部分。
| 方法类型 | 推荐工具/服务 | 优点 | 缺点 | 适用人群 |
|---|---|---|---|---|
| 基础免费 | crt.sh, SecurityTrails, VirusTotal |
简单、快速、权威 | 结果不完整 | 初学者、快速检查 |
| 专业工具 | Amass, Subfinder, OneForAll |
全面、深入、可定制 | 需要技术基础、耗时 | 安全研究员、高级用户 |
| 商业服务 | Shodan, Spyse, Farsight |
数据量最大、最准确 | 价格昂贵 | 企业、专业机构 |
对于绝大多数人来说,从 crt.sh 和 SecurityTrails 开始,然后使用 Amass 进行补充,是性价比最高且效果最好的组合,请务必在合法授权的前提下进行操作。
