DNSSEC 查看器
输入一个名称,查看 DNSSEC 如何保护它:从根区域的信任锚开始,经过每一级委托,一直到记录本身,或者到记录不存在的证明。查看器会自行检查每个签名,而不是轻信解析器的结论。
签名在你的浏览器中验证。检查一个名称时,会把关于该名称、其各级父区域以及这些区域的密钥的 DNS 查询发送到你选择的 DNS-over-HTTPS 解析器(Cloudflare 或 Google),不发送其他任何内容;我们的服务器不会收到任何数据。
任意名称,例如 www.example.com;“.”表示根区域。
例如 A, AAAA, MX, TXT, CAA, TLSA, HTTPS, DNSKEY。
返回解析器原本会拒绝的数据,以便检查断裂的信任链。
此查看器能做什么、不能做什么
- 它只通过一个公共解析器(即你选择的那个)查看 DNS,而不是通过区域自己的域名服务器:被验证的就是该解析器返回的内容。解析器的 AD 位仅供对照显示。
- 支持验证的签名算法:RSA/SHA-256 和 SHA-512、ECDSA P-256 和 P-384、Ed25519 和 Ed448,以及已弃用的 RSA/SHA-1。IANA 注册表禁止验证器使用的算法(RSAMD5、DSA、GOST R 34.10-2001)会使区域被视为不安全;SM2、ML-DSA 和 GOST R 34.10-2012 尚未实现,结果中会如实注明。
- 一次检查最多发出 40 次查询、执行 512 次签名验证,因此任何区域都无法让页面无限制地运行;需要更多查询的追踪会被报告为不完整。
- 有效期按你计算机的时钟检查;已保存的查询日志则按录制时刻检查。
- 不能查询 ANY 和 RRSIG 等元类型;如果无法根据解析器返回的文本准确重建记录被签名的字节,查看器会报告这一点,而不是给出近似结果。
The chain it rebuilds
DNSSEC (RFC 4033, 4034, 4035) protects DNS answers with signatures that chain up to one key everyone agrees on: the root zone's. The root's key-signing key is published by IANA as a trust anchor (RFC 9718). From there, every zone holds a DNSKEY set signed by its own key, and its parent vouches for that key with a DS record — a digest of it — that the parent signs. An answer is secure when every link from the anchor down holds: the DS matches a key, the key signs the DNSKEY set, a key of that set signs the records.
The inspector asks a DNS-over-HTTPS resolver for exactly the pieces of that chain. For www.example.com it asks for the root's
DNSKEY set, for the DS records of com, example.com and www.example.com — which also reveal where the zone cuts are — and
for the records you asked about; then for the DNSKEY sets of the zones it found. Names reached through a CNAME or DNAME get a
walk of their own. Independent questions go out together, so a typical inspection takes two or three rounds of a few dozen
queries.
Why it verifies instead of trusting the resolver
A validating resolver says "this answer is authentic" with one bit, AD. The inspector shows that bit, but never relies on it:
it rebuilds the signed data in wire format from the resolver's text, computes each DS digest, and verifies each RRSIG with its own
implementations of RSA/SHA-256 and SHA-512, ECDSA P-256 and P-384, Ed25519 and Ed448 — the algorithms that sign almost every zone
today. When its result and the AD bit disagree, the page says so: either the resolver cannot validate an algorithm in the chain, or
the inspector found a problem the resolver accepted. With checking disabled (cd=1) a resolver returns data it would otherwise
refuse with SERVFAIL, which is how a broken chain — dnssec-failed.org is a permanent example — can still be taken apart.
Proving that something does not exist
An attacker who can delete answers is as dangerous as one who can forge them, so DNSSEC also signs absence. NSEC records list the next existing name in the zone and the types at each name; NSEC3 (RFC 5155) does the same with hashed names, so the zone cannot be enumerated as easily. The inspector checks the proof the zone returns: that it covers the queried name or type, that no wildcard could have produced an answer, and, for NSEC3, the closest-encloser proof and the opt-out flag that makes an unsigned delegation possible. Online signers that answer with a single NXNAME record (RFC 9824) are understood too.
Reading the result
Secure means a complete chain from the anchor. Insecure means the chain ends with a proof that a zone on the way is not signed — the common case, and not an error. Bogus means a link is broken: a DS that matches no key, an expired or invalid signature, a missing proof; validating resolvers return SERVFAIL, and certificate authorities must refuse to issue for such names (see the CAA checker). Indeterminate means the walk could not finish — a resolver error, a query that failed, or the query budget running out. Each link of the chain lists its keys, DS records, signatures with their validity windows, and the records themselves.
The limits are stated under the tool: one resolver's view, the algorithms implemented, a budget of 40 queries and 512 signature
checks per inspection — the bound that keeps a hostile zone from making the page do unbounded work (the KeyTrap problem). For the
same walk done by hand with dig and delv, and what each typical mistake looks like, read
DNSSEC chain of trust: DS, DNSKEY, RRSIG and what breaks.
What leaves your browser
The inspector sends DNS questions — the name, its parent zones and their keys — to the resolver you choose, Cloudflare at
cloudflare-dns.com or Google at dns.google, from your browser, without cookies or referrer. Our servers are not involved and
see nothing. The IANA root anchors ship with the page. Every exchange is kept in a transcript you can download; pasting it back
into Saved transcript repeats the validation offline, at the moment it was recorded. Share links carry only the question, after
the # of the address, and do not start a lookup by themselves.