DNS Record Enumerator
Enumerate public DNS records for a domain or IP through Cloudflare or Google, compare query coverage, and flag mail or DNSSEC gaps.| Type | Name | Record data | TTL | Resolver | Copy |
|---|---|---|---|---|---|
| {{ row.type }} | {{ row.name }} | {{ row.data }} | {{ row.ttl }} s | {{ row.resolver }} |
| Signal | State | Evidence | Next action | Copy |
|---|---|---|---|---|
| {{ row.signal }} | {{ row.state }} | {{ row.evidence }} | {{ row.action }} |
Introduction:
A domain name can resolve correctly while its mail route, nameserver set, certificate policy, or service records have drifted. A useful DNS inventory therefore asks several typed questions and keeps the answers, time-to-live values, response status, and resolver view together.
DNS records describe different parts of a public namespace. Address records point names to IP addresses, MX records route mail, NS and SOA records describe authority, TXT records carry policies and verification values, and newer HTTPS or SVCB records advertise service parameters. No single record family is a complete health check.
| Record family | Useful evidence | What it cannot prove alone |
|---|---|---|
| A and AAAA | Published IPv4 and IPv6 addresses | That the web or application service responds |
| NS and SOA | Delegation and zone-administration clues | That every authoritative server has identical current data |
| MX and TXT | Mail routing, SPF, DMARC, and verification text | Mailbox delivery or correct policy semantics |
| DS, DNSKEY, and RRSIG | Visible DNSSEC material | A complete valid chain of trust |
| PTR | Reverse mapping from an IP address | Matching forward DNS or ownership |
Recursive resolvers answer from their cache and policy view. During a DNS change, Cloudflare and Google can temporarily return different values or TTLs without either view matching the authoritative servers at that exact moment. The resolver and completion time are therefore part of the evidence.
Blank answers also need context. A successful response with no records differs from a nonexistent name, a timeout, or another DNS error. Some absences are intentional, such as no AAAA record for an IPv4-only service or a null MX declaration for a domain that accepts no mail.
Enumeration shows what public DNS returned for the selected questions. It does not discover every subdomain, validate every policy, test application availability, or authorize changes to a zone.
How to Use This Tool:
Choose one public target and a query plan that matches the question you are trying to answer.
- Enter a domain, hostname, URL, email-style address, IPv4 address, or IPv6 address. URLs are reduced to their hostname, email-style input to its domain, and IP addresses to a reverse-DNS PTR question.
- Select Fast for common address, authority, mail, and text records; Balanced to add CNAME, CAA, and SOA; Mail for mail-policy names; or Deep for service and DNSSEC families.
- Choose Cloudflare DNS, Google Public DNS, or automatic fallback, then run the enumeration explicitly. Automatic fallback tries the second public resolver only when the first request fails; it is not a simultaneous comparison. If target validation fails, remove paths, spaces, extra labels, or private single-label hostnames.
- Review Record ledger for exact answers and TTLs, then use Type coverage and Action flags to decide which records need a dedicated follow-up check.
Interpreting Results:
Read the ledger as a timestamped resolver observation. Confirm the owner name, type, record data, TTL, and resolver against the intended DNS change or service inventory before editing anything.
Observed means matching evidence was returned. Review means a queried signal was absent or needs a more specific check. Not checked means the selected preset did not ask the relevant question. These states are prompts for investigation, not security or compliance verdicts.
DNSSEC material or an authenticated-data flag is only a clue. Use a chain validator with a known-good and known-broken control before concluding that a resolver validates DNSSEC correctly.
Technical Details:
Enumeration begins by normalizing one target. Hostnames are lowercased, a trailing dot is removed, and only the first nonblank line is used. Domain-like targets follow a preset query plan; IP addresses are expanded into the corresponding in-addr.arpa or ip6.arpa owner and queried only for PTR.
Lookup Core
| Preset | Apex record types | Additional owner names |
|---|---|---|
| Fast | A, AAAA, NS, MX, TXT |
None |
| Balanced | Fast types plus CNAME, CAA, SOA |
None |
A, AAAA, MX, TXT |
_dmarc, _mta-sts, _smtp._tls, and default._domainkey TXT |
|
| Deep | Balanced types plus HTTPS, SVCB, SRV, NAPTR, DNSKEY, DS, RRSIG, NSEC, NSEC3 |
The same four mail-policy owner names |
Each question is sent to the selected public DNS-over-HTTPS resolver with a 6.5-second timeout. Automatic fallback uses Cloudflare first and tries Google only after a request failure. Answers retain record type, owner, cleaned record text, non-negative TTL, resolver label, response code, authenticated-data flag, and measured request latency.
Formula Core
Coverage measures the share of issued questions that returned at least one answer. The result is rounded to one decimal place.
A question counts as answered when at least one answer row is present. Response codes 0 and 3 are not counted as request failures; other response codes and transport failures are. A completed run is partial when any question failed, complete when at least one question was answered and none failed, and empty otherwise.
Median latency is the middle non-negative request time after sorting. For an even number of questions, it is the rounded average of the two middle values. Because queries run one after another and may use fallback, this metric describes the observed lookup sequence rather than raw resolver capacity.
| Flag | Observed condition | Required follow-up |
|---|---|---|
| Nameservers | At least one NS answer | Compare the complete set with the intended delegation. |
| SPF | A returned TXT value contains v=spf1 | Validate mechanisms, includes, lookup count, and final qualifier separately. |
| DMARC | The dedicated TXT query contains v=DMARC1 | Review alignment, policy, percentage, and report destinations. |
| DNSSEC | DNSKEY, DS, RRSIG, or an authenticated-data flag is visible | Validate the chain of trust independently. |
| CAA | At least one CAA answer | Confirm issue and issuewild values against the intended CA policy. |
Privacy and Accuracy Notes:
The selected public resolver receives each generated owner name and record type. Avoid private, customer-only, or unauthorized names because the lookup discloses them outside the browser.
- Cached answers can differ from authoritative data during propagation or policy changes.
- A missing record can be correct for the domain's intended role.
- One default DKIM selector check cannot discover every selector in use.
- DNS answers do not prove website availability, mail delivery, certificate validity, or application health.
References:
- RFC 1035: Domain Names — Implementation and Specification, RFC Editor, November 1987.
- RFC 4035: DNS Security Extensions Protocol Modifications, RFC Editor, March 2005.
- RFC 8484: DNS Queries over HTTPS, RFC Editor, October 2018.
- How to profile domain DNS records with dig, Simplified Guide.
- How to check DNSSEC validation with dig, Simplified Guide.