
farrokhi/dnsdiagDNSdiag是一套功能强大的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
--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)--tcp/--quic/--http3:选择传输协议(默认UDP)-s <server>:目标DNS服务器--asn:显示IP的ASN信息--expert:启用专家提示(如检测潜在DNS劫持)-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基础设施,都能通过该工具集快速获取关键指标和诊断结果。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务