
DNSdiag是一套功能强大的DNS诊断工具集,旨在帮助用户监测DNS服务器性能、排查DNS请求异常、审计DNS安全问题。该工具集包含三个核心工具:dnsping(DNS响应时间测量)、dnstraceroute(DNS请求路径追踪)和dnseval(多DNS解析器性能评估),支持多种现代DNS协议(如DoT、DoH、DoQ等),适用于检测ISP DNS拦截、评估DNS服务器可靠性及选择最优解析器。
支持UDP、TCP、DNS over TLS (DoT)、DNS over HTTPS (DoH)、DNS over QUIC (DoQ) 和 DNS over HTTP/3 (DoH3) 等多种传输协议。
--dnssec)基本运行方式
使用Docker镜像无需本地安装依赖,直接运行工具:
bash# 查看dnsping帮助 docker run --network host -it --rm farrokhi/dnsdiag dnsping.py --help # 运行dnsping测试谷歌DNS(8.8.8.8)对example.com的响应 docker run --network host -it --rm farrokhi/dnsdiag dnsping.py -c 5 -s 8.8.8.8 example.com
注意:
--network host确保容器使用主机网络,避免网络隔离影响测试准确性。
常用工具示例
dnsping:测量DNS响应时间
bash# 使用TLS协议(DoT)测试8.8.8.8,启用DNSSEC,发送5次AAAA查询 docker run --network host -it --rm farrokhi/dnsdiag dnsping.py -c 5 --tls --dnssec -t AAAA -s 8.8.8.8 example.com
输出示例:
dnsping.py DNS: 8.8.8.8:853, hostname: example.com, proto: TLS, class: IN, type: AAAA, flags: [RD] 75 bytes from 8.8.8.8: seq=1 time=23.45 ms NOERROR [QR RD RA -- DO] 75 bytes from 8.8.8.8: seq=2 time=21.82 ms NOERROR [QR RD RA -- DO] 75 bytes from 8.8.8.8: seq=3 time=25.11 ms NOERROR [QR RD RA -- DO] 75 bytes from 8.8.8.8: seq=4 time=22.37 ms NOERROR [QR RD RA -- DO] 75 bytes from 8.8.8.8: seq=5 time=24.03 ms NOERROR [QR RD RA -- DO] --- 8.8.8.8 dnsping statistics --- 5 requests transmitted, 5 responses received, 0% lost min=21.82 ms, avg=23.36 ms, max=25.11 ms, stddev=1.24 ms
dnstraceroute:追踪DNS请求路径
bash# 追踪DNS请求到Cloudflare DNS(1.1.1.1)的路径,使用HTTP/3协议 docker run --network host -it --rm farrokhi/dnsdiag dnstraceroute.py --http3 -s 1.1.1.1 cloudflare.com
dnseval:评估多个DNS解析器
bash# 评估公共DNS服务器列表对github.com的解析性能,发送10次查询 docker run --network host -it --rm farrokhi/dnsdiag dnseval.py -f public-servers.txt -c 10 github.com
dnsping主要参数
--tcp/--tls/--doh/--quic/--http3:选择传输协议(默认UDP)-c <count>:发送查询次数(默认5次)-s <server>:指定DNS服务器(IP或域名)-t <type>:查询类型(如A、AAAA、MX,默认A)--dnssec:启用DNSSEC验证请求--ecs <cidr>:指定EDNS客户端子网(如203.0.113.0/24)--nsid:请求并显示名称服务器标识符(NSID)dnstraceroute主要参数
--tcp/--quic/--http3:选择传输协议(默认UDP)-s <server>:目标DNS服务器--asn:显示IP的ASN信息--expert:启用专家提示(如检测潜在DNS劫持)dnseval主要参数
-f <file>:指定包含DNS服务器列表的文件(每行一个服务器)-c <count>:每个服务器发送的查询次数--skip-warmup:跳过预热查询(直接开始测量)--dnssec:对所有查询启用DNSSEC验证| 工具 | UDP | TCP | TLS (DoT) | DoH | DoQ | DoH3 |
|---|---|---|---|---|---|---|
dnsping | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
dnstraceroute | ✓ | ✓ | - | - | ✓ | ✓ |
dnseval | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
DoQ:DNS over QUIC,DoH3:DNS over HTTP/3
DNSdiag通过直观的命令行工具和丰富的协议支持,为DNS性能监测、故障排除和安全审计提供了全面解决方案。无论是个人用户排查网络问题,还是管理员评估DNS基础设施,都能通过该工具集快速获取关键指标和诊断结果。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务