在安全测试的过程中,信息收集是第一道工序,而子域名枚举又是信息收集的重头戏。一个目标站点的子域名往往能暴露测试入口、后台、API 接口等关键信息。
Subfinder 用 Go 语言编写的子域名被动发现工具,主打纯被动枚举——不会向目标发送任何数据包,全靠从第三方数据源"捞"结果。
核心特点:
安装
Kali 源里直接有:
sudo apt update
sudo apt install subfinder -y安装完直接可用:
subfinder -version
小试牛刀
下面命令,是最常用的命令之一,只需要-d后面加目标域名即可。
subfinder -d bbskali.cn
常用参数详解
参数 | 说明 |
|---|---|
-s, -sources | 指定使用的数据源,如 -s crtsh,github |
-all | 使用全部 50+ 数据源(速度较慢但结果全) |
-es, -exclude-sources | 排除某些数据源 |
-recursive | 只使用支持递归枚举的源 |
高级案例
subfinder -d target.com -silent -o target_subdomains.txt
wc -l target_subdomains.txtcat targets.txt #将多个目标放到文件中。
subfinder -dL targets.txt -silent -o all_subdomains.txt配合 -oD 分目录输出:
subfinder -dL targets.txt -oD ./results -silent
ls ./results/
subfinder -d target.com -all -silent -o full.txtsubfinder -d target.com -silent | httpx -silent -o alive.txt这是最经典的组合拳——先查子域,再用 httpx 筛选出能访问的地址。
subfinder -d target.com -silent | httpx -silent | nuclei -t ~/nuclei-templates/一条命令完成:子域枚举 → 存活探测 → 漏洞扫描。这就是 ProjectDiscovery 全家桶的魅力。
subfinder -d target.com -oJ -cs -o result.json-cs(collect-sources)会标明每个子域名来自哪个数据源,方便追溯和排查。
{"host":"admin.target.com","source":"crtsh","input":"target.com"}
{"host":"mail.target.com","source":"alienvault","input":"target.com"}总结
Subfinder 是一款轻量、高效、安静的被动子域名枚举工具。它不会向目标发送任何流量,完全通过第三方数据源进行信息收集,对网络安全爱好者来说,是一款不错的工具。