DNS Delegation Trace Analyzer
Trace a public hostname through DNS delegation and aliases, compare resolver views, and inspect DNSSEC or negative-cache clues.{{ summaryTitle }}
DNS route visual unavailable.
Loading DNS route visual…
| Finding | State | Evidence | Next check | Copy |
|---|---|---|---|---|
| {{ row.finding }} | {{ row.state }} | {{ row.evidence }} | {{ row.nextCheck }} |
| Zone | Delegation | NS addresses | DNSSEC | Observation | Copy |
|---|---|---|---|---|---|
| {{ row.zone }} | {{ row.delegation }} | {{ row.addresses }} | {{ row.dnssec }} | {{ row.observation }} |
| Step | Type | Node | Evidence | Status / TTL | Copy |
|---|---|---|---|---|---|
| {{ row.step }} | {{ row.type }} | {{ row.node }} | {{ row.evidence }} | {{ row.note }} |
| Resolver | Apex NS | Final outcome | Final values | Observation | Copy |
|---|---|---|---|---|---|
| {{ row.resolver }} | {{ row.apex }} | {{ row.outcome }} | {{ row.values }} | {{ row.note }} |
A missing web page, mail failure, or certificate error may begin several DNS steps before the affected service. A recursive resolver must find the delegated zone, obtain the requested record, follow aliases when necessary, and apply its own cache and validation policy. A gap at any of those stages can produce an empty answer or an error.
Delegation is the parent zone's instruction about which nameservers serve a child zone. The child then publishes its own records, such as addresses, mail exchangers, policy text, and aliases. When parent and child information drift, some resolvers may keep serving cached data while others expose the change immediately.
| Evidence | What it tells you | Important limit |
|---|---|---|
| NS records | Which nameserver names a resolver sees for each zone checkpoint | Presence alone does not prove every authoritative server is reachable or consistent. |
| CNAME chain | Where an alias redirects the final record lookup | A loop or hop limit can stop the chain before the intended target. |
| DS and DNSKEY | Whether parent and child signing material is visible | Record presence is not a cryptographic validation of the chain. |
| Resolver comparison | Whether three public recursive resolvers currently return different fingerprints | Agreement is not proof of worldwide propagation. |
| Negative TTL | How long an NXDOMAIN or no-data answer may remain cached | Resolver caps, elapsed cache time, and policy can shorten the observed wait. |
A resolver-visible trace differs from an iterative authoritative trace such as dig +trace. It asks a chosen public recursive resolver for the checkpoints, so cache contents, filtering, DNSSEC validation, and resolver policy remain part of the evidence. That view is useful for reproducing a client's experience, but a suspected delegation break still deserves direct queries to parent and child authoritative servers.
Time to live (TTL) also shapes diagnosis. A correct record can coexist with an older cached answer until its TTL expires, and negative answers have their own cache lifetime. Repeating the same query from several resolver viewpoints helps separate a local cache issue from a broader publication problem.
How to Use This Tool:
Choose the public resolver viewpoint and final record that match the failing client or service.
- Enter one public hostname. A URL, wildcard name, or email-style value is reduced to its hostname; additional pasted lines are ignored.
- Select A or AAAA for addresses, MX for mail, TXT for policy data, or CAA for certificate-authority rules. Keep Follow aliases on for hosted services and content delivery networks.
- Choose Cloudflare, Google Public DNS, or Quad9, then run the trace. If it times out or fails, try another resolver and confirm that browser DNS-over-HTTPS traffic is allowed.
- Enable nameserver-address expansion, resolver comparison, DNSSEC continuity, or negative-cache estimation only when that evidence answers the current incident question.
- Read the Incident brief first, then inspect zone checkpoints and the evidence ledger. Use direct authoritative queries before changing delegation or signing records.
Interpreting Results:
Clear means no checkpoint or final-answer rule reached warning severity. Review means the evidence includes a warning, unsigned DNSSEC view, no-data outcome, or resolver mismatch. Break means a failed checkpoint, broken DNSSEC continuity, NXDOMAIN, SERVFAIL, REFUSED, or transport failure was observed.
A clear result is limited to the selected resolver's current view and the enabled checks. An unexpanded nameserver address or unchecked DNSSEC state is skipped rather than treated as healthy. A resolver mismatch is a prompt to compare caches and authoritative data, not proof that one resolver is wrong.
Treat No data differently from NXDOMAIN. No data means the name exists but the requested record type was not returned; NXDOMAIN says the queried name does not exist in that resolver's view. Confirm the intended record type before escalating either result.
Technical Details:
DNS evidence is collected through encrypted DNS-over-HTTPS requests to a public recursive resolver. The hostname's nearest visible SOA identifies a working zone apex, and zone checkpoints run from the root label through that apex. The final requested record is looked up after the optional CNAME chase.
Lookup Core
- Normalize one hostname and search its ancestors for the first SOA answer.
- Request NS records for the root and each zone down to the detected apex.
- Optionally resolve nameserver A and AAAA records and request DS plus DNSKEY records for non-root zones.
- Follow the first CNAME answer at each hop until no alias remains, a loop is found, or the 1 to 20 hop limit is reached.
- Request the selected final record. Optional comparison repeats apex NS and final-record lookups through all three built-in resolvers.
Resolver comparison lowercases and sorts returned values before building fingerprints. A mismatch is counted when another resolver differs from the baseline in apex NS values, final values, or the classified final outcome. At most two mismatches are possible because three resolver views are compared.
Rule Core
| Score | Checkpoint or outcome states | Overall result |
|---|---|---|
| 0 | OK, secured, or final answer present | Clear unless another check scores higher |
| 1 | Skipped or not checked | Clear, but the evidence was not collected |
| 2 | Warning, unsigned, no data, or any resolver mismatch | Review |
| 3 | Failed, broken, NXDOMAIN, SERVFAIL, REFUSED, or transport error | Break |
Each zone's checkpoint score is the maximum of delegation, nameserver-address, and DNSSEC scores. The overall severity is the maximum checkpoint score, final-outcome score, and resolver-mismatch score. Counts of gaps remain diagnostic evidence; they are not added into the severity.
DNSSEC continuity is classified as secured when both DS and DNSKEY records are visible, broken when lookup transport fails or DS exists without DNSKEY, and unsigned otherwise. This presence rule does not verify signatures or prove that the DS digest matches a child key.
Formula Core
For an empty final answer, the negative-cache estimate uses the smaller usable value from the SOA record's TTL and MINIMUM field.
The authority section of the empty response is checked first. If it has no usable SOA value, ancestor SOA answers are tried. A result of “not estimated” means no non-negative value was available, not that negative caching is disabled.
Privacy and Accuracy Notes:
Running a trace sends the hostname and requested DNS record types to the selected public resolver over HTTPS. Resolver comparison sends apex NS and final-record questions to Cloudflare, Google Public DNS, and Quad9. Each provider's own logging and privacy terms apply.
- No DNS request is made until the trace is run.
- The trace is not a direct authoritative-server walk and does not test every anycast site, resolver, or client network.
- DNS answers, TTLs, caches, and signing records can change between runs. Save the time, resolver, and evidence needed for an incident handoff.
- DS and DNSKEY presence is only a continuity clue. Use a validating resolver and direct parent/child checks for a DNSSEC incident.
References:
- RFC 1034: Domain Names — Concepts and Facilities, IETF, November 1987.
- RFC 2308: Negative Caching of DNS Queries, IETF, March 1998.
- RFC 4033: DNS Security Introduction and Requirements, IETF, March 2005.
- RFC 8484: DNS Queries over HTTPS, IETF, October 2018.
- How to trace DNS delegation with dig, Simplified Guide.
- How to check DNSSEC DS and DNSKEY records with dig, Simplified Guide.