dnsx简介
dnsx是一个快速且多用途的 DNS 工具包,允许使用retryabledns库运行多个探测器,它允许您使用用户提供的解析器列表执行您选择的多个 DNS 查询,此外还支持 DNS 通配符过滤,如shuffledns。
特色
- 查询 DNS 记录的简单而方便的实用程序。
- 支持A、AAAA、CNAME、PTR、NS、MX、TXT、SOA
- 支持 DNS 状态码探测
- 支持 DNS 追踪
- 以自动方式处理通配符子域。
- 标准输入和标准输出支持与其他工具一起工作。
用法
输入:
-l, -list string 带有子(域)/主机列表的文件输入
查询:
-a 查询 A 记录(默认)
-aaaa 查询 AAAA 记录
-cname 查询 CNAME 记录
-ns 查询 NS 记录
-txt 查询 TXT 记录
-ptr 查询 PTR 记录
-mx 查询 MX 记录
-soa 查询 SOA 记录
过滤器:
-resp 显示 DNS 响应
-resp-only 仅显示 DNS 响应
-rcode, -rc string 显示 DNS 状态代码(例如 -rcode noerror,servfail,refused)
速率限制:
-t, -c int 要使用的并发线程数(默认 100)
-rl, -rate-limit int DNS 请求数/秒(默认禁用)(默认 -1)
输出:
-o, -output string 写入输出的文件(可选)
-json 以 JSONL(ines) 格式写入输出
调试:
-silent 只显示输出结果
-v, -verbose 详细输出
-raw, -debug 显示 RAW DNS 响应
-stats 显示正在运行的扫描的统计信息
-version 显示 dnsx 的版本
优化:
-retry int DNS 重试次数(默认 1)
-hf, -hostsfile 解析系统主机文件
-trace 执行 DNS 跟踪
-trace-max-recursion int dns 跟踪的最大递归(默认 32767)
-flush-interval int 输出文件的刷新间隔(默认 10)
-resume 恢复
配置:
-r, -resolver string 解析器列表(文件或逗号分隔)
-wt, -wildcard-threshold int 通配符过滤器阈值(默认 5)
-wd, -wildcard-domain string 通配符过滤的域名(其他标志将被忽略)
使用示例
🎯 核心功能演示
1. 基础域名解析
echo "example.com" | dnsx -a -resp
输出示例:
[example.com] [A] 93.184.216.34
2. 批量解析子域名
subfinder -d example.com -silent | dnsx -silent -a -resp
参数说明:
-
-a
:查询A记录 -
-resp
:显示解析结果
3. 多记录类型查询
cat domains.txt | dnsx -a -aaaa -mx -txt -cname -ns
4. 验证域名存活性
cat domains.txt | dnsx -a -resp -status-code -livedomains -o alive_domains.txt
5. 使用自定义DNS服务器
echo "example.com" | dnsx -a -r 8.8.8.8,1.1.1.1
6. 暴力破解子域名
dnsx -d example.com -w subdomains.txt -a -resp -silent
🛠️ 高级用法
1. 组合工作流
subfinder -d example.com -silent | dnsx -a -silent | httpx -title -status-code
2. 检测CNAME劫持风险
dnsx -d example.com -cname -l | grep "\.cloudfront\.net"
3. DNS泛解析检测
dnsx -d example.com -a -wildcard-test
4. 输出JSON格式
echo "example.com" | dnsx -a -json
5. 速率控制(避免触发限制)
cat domains.txt | dnsx -rate-limit 100 -a
📊 参数详解
参数 | 说明 |
---|---|
-a |
查询A记录 |
-aaaa |
查询AAAA记录 |
-cname |
查询CNAME记录 |
-mx |
查询MX记录 |
-ns |
查询NS记录 |
-txt |
查询TXT记录 |
-resp |
显示解析结果 |
-r |
指定DNS服务器 |
-rate-limit |
请求速率限制 |
-livedomains |
只输出可解析域名 |
-json |
JSON格式输出 |
-o |
结果保存到文件 |
🔍 实战案例
1. 完整子域名枚举
subfinder -d example.com -silent | dnsx -a -aaaa -cname -resp -o dns_results.txt
2. 快速筛选有效资产
cat domains.txt | dnsx -a -livedomains | httpx -title -status-code
3. 检测AWS S3桶配置错误
dnsx -d example.com -cname | grep "s3.amazonaws.com"
💡 使用技巧
-
配合massdns提高速度:
subfinder -d example.com -silent | massdns -r resolvers.txt -o S | dnsx -json
-
自动化监控DNS变更:
dnsx -d example.com -a -monitor
-
查找敏感TXT记录:
dnsx -d example.com -txt | grep -E "google-site-verification|SPF"
⚠️ 注意事项
-
避免对同一目标发起高频查询
-
商业域名谨慎扫描,需获得授权
-
部分功能需要root权限(如本地DNS缓存操作)
没有回复内容