DNSProbe 是一个基于 retryabledns 构建的工具,允许你使用用户提供的解析器列表执行多个选择的 DNS 查询。
dnsprobe -h
这将显示工具的帮助信息。以下是所有支持的选项。
dnsprobe 需要 go1.13+ 才能成功安装。运行以下命令获取仓库:
GO111MODULE=on go get -v github.com/projectdiscovery/dnsprobe
git clone https://github.com/projectdiscovery/dnsprobe.git 克隆仓库> docker build -t projectdiscovery/dnsprobe .
> docker run -it projectdiscovery/dnsprobe
例如,要查询一个域名列表的 CNAME 记录并将结果输出到主机文件系统:
> cat domains.txt | docker run -i projectdiscovery/dnsprobe -r CNAME > bugcrowd.txt
要查询域名列表,你可以通过 stdin 传递列表(也接受完整 URL,此时域名会自动提取)。
> cat domains.txt | dnsprobe
root@test:~# cat bc.txt | dnsprobe
bounce.bugcrowd.com 192.28.152.174
blog.bugcrowd.com 104.20.4.239
blog.bugcrowd.com 104.20.5.239
www.bugcrowd.com 104.20.5.239
www.bugcrowd.com 104.20.4.239
events.bugcrowd.com 54.84.134.174
> dnsprobe -l domains.txt -r CNAME
root@test:~# dnsprobe -l bc.txt -r CNAME
forum.bugcrowd.com bugcrowd.hosted-by-discourse.com.
collateral.bugcrowd.com bugcrowd.outrch.com.
go.bugcrowd.com mkto-ab270028.com.
ww2.bugcrowd.com bugcrowdinc.mktoweb.com.
researcherdocs.bugcrowd.com ssl.readmessl.com.
docs.bugcrowd.com ssl.readmessl.com.
这将针对 domains.txt 中的域名运行工具并返回结果。该工具使用通过 -s 选项指定的解析器或默认系统解析器执行查询。
> subfinder -d bugcrowd.com -silent | dnsprobe -r cname
root@b0x:~# subfinder -d bugcrowd.com -silent | dnsprobe -r cname
forum.bugcrowd.com bugcrowd.hosted-by-discourse.com.
docs.bugcrowd.com ssl.readmessl.com.
go.bugcrowd.com mkto-ab270028.com.
ww2.bugcrowd.com bugcrowdinc.mktoweb.com.
researcherdocs.bugcrowd.com ssl.readmessl.com.
collateral.bugcrowd.com bugcrowd.outrch.com.
proxilate.bugcrowd.com proxilate.a.bugcrowd.com.
DNSProbe 由 projectdiscovery 团队用 🖤 制作。
| 标志 | 描述 | 示例 |
|---|
| -c | 最大 DNS 重试次数(默认 1) | dnsprobe -c 5 |
| -l | DNS 域名列表(可选) | dnsprobe -l domains.txt |
| -r | 请求类型 A、NS、CNAME、SOA、PTR、MX、TXT、AAAA | dnsprobe -r A |
| -s | 解析器列表(可选) | dnsprobe -s resolvers.txt |
| -t | 并发请求数(默认 250) | dnsprobe -t 500 |
| -f | 输出类型 | dnsprobe -f json |
| -o | 输出文件(可选) | dnsprobe -o result.txt |