ECS Answer | TTL (s) | Plain Answer | TTL (s) | Copy |
---|---|---|---|---|
{{ row.data }} | {{ row.ttl }} | {{ answersPlain[i]?.data ?? '—' }} | {{ answersPlain[i]?.ttl ?? '—' }} | |
No answers. |
Domain name answers are the records a resolver returns for a given name and type. Networks can steer responses based on where a request appears to come from, so the address you see can differ by location and freshness. Use this to compare domain answers by client subnet when you want to check routing behavior with clear, repeatable steps.
Enter a domain, pick the record family you care about, and decide whether to supply a client subnet hint. The tool queries once with the hint and once without it, then shows the answers, the time to respond, and whether anything changes. A quick scan of the table tells you if results match or if only time to live values differ.
Teams use this during content delivery rollouts or regional failovers when they need to verify that resolution aligns with intent. A common read is that multiple addresses near a region signal load sharing, while a single address far away suggests a routing miss that needs attention. Keep inputs consistent between runs so comparisons remain fair.
Remember that a matching pattern does not prove that traffic will reach a specific server and a differing pattern does not always mean a fault. Treat this as a fast lens on resolver behavior, then confirm with flow data or application logs when decisions matter.
The Domain Name System (DNS) answer set for a name and a resource record type contains one or more RDATA values and a time to live (TTL) in seconds. This tester examines how the Extension Mechanisms for DNS (EDNS) Client Subnet (ECS) hint influences those answers by issuing two lookups for the same question: one that includes a network base and one without the hint.
For each lookup, answers are normalized into a stable order so that comparisons are deterministic. Internet Protocol version 4 (IPv4) addresses sort numerically by 32‑bit value and Internet Protocol version 6 (IPv6) addresses sort by 128‑bit value. All other record data sort lexicographically by string. The app then reports two indices: the count of records that changed between sets and the count of entries that only differ by TTL.
Timing is measured per query using a monotonic clock and reported in milliseconds. A result is considered “identical” when both indices are zero. If records differ, the changed count conveys whether content steering is in effect or a resolver path differs; TTL‑only differences usually indicate distinct cache positions while content remains aligned.
Comparability depends on asking the same question with the same inputs. The ECS hint is applied only when the record type is A or AAAA; other types ignore the subnet fields. Default subnet widths favor common practice: /24 for IPv4 and /56 for IPv6. Rows align after normalization; when one side lacks a position, the table marks it clearly.
Answer
array; coerce TTL to integer seconds; strip outer quotes for TXT.Symbol | Meaning | Unit/Datatype | Source |
---|---|---|---|
n | Domain name (FQDN or IDN) | string | Input |
q | Record type | enum | Input |
ip | Client subnet base | IPv4/IPv6 | Input |
pfx | Prefix length | integer | Input |
N | Computed network base | IPv4/IPv6 | Derived |
ECS | EDNS client subnet string | string | Derived |
msecs | Query time with ECS | ms | Derived |
msplain | Query time without ECS | ms | Derived |
TTL | Per‑record cache time | seconds | Derived |
Δrec | Changed‑record count | integer | Derived |
Δttl | TTL‑only difference count | integer | Derived |
Scenario. Query example.com type A using the subnet 203.0.113.1 with prefix 24. The network base becomes 203.0.113.0 and the ECS string is 203.0.113.0/24.
After normalization, compare the answer sets. If they contain different addresses, Δrec > 0. If only TTL differs, Δttl > 0 while Δrec = 0.
Threshold band | Δrec | Δttl | Interpretation | Action cue |
---|---|---|---|---|
Identical | 0 | 0 | Answers match and cache times match. | Proceed to spot‑check over time. |
TTL‑only difference | 0 | > 0 | Content aligned; caches differ. | Check resolver path and cache policy. |
Changed answers | > 0 | any | Steering or divergence by location. | Verify mapping, health, and scope. |
Field | Type | Min | Max | Step/Pattern | Error text | Placeholder |
---|---|---|---|---|---|---|
Domain | string (FQDN / IDN) | 1 | — | not empty | Enter a domain. | example.com |
Record type | enum | — | — | A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, SRV | — | — |
Resolver | enum (UI only) | — | — | Cloudflare, Google | — | — |
Client subnet base | IPv4 / IPv6 | — | — | IPv4 dotted quad or IPv6 literal | — | 1.2.3.0 |
Prefix length | integer | 0 | 32 / 128 | 0–32 for IPv4, 0–128 for IPv6 | — | — |
Input | Accepted families | Output | Encoding/precision | Rounding |
---|---|---|---|---|
Domain, record type | FQDN or IDN; A/AAAA/CNAME/MX/NS/TXT/SOA/CAA/SRV | Answer table with TTL | strings; TTL integers | n/a |
Client subnet | IPv4 or IPv6 literal plus prefix | ECS string N/pfx |
IPv4 dotted or IPv6 compressed | n/a |
JSON view | — | Inputs, timings, diffs, answers, raw | pretty‑printed | n/a |
cloudflare-dns.com/dns-query
with header accept: application/dns-json
.Answer
array display “No answers.”Requests are issued from your browser to public endpoints; the app does not store your inputs server‑side. When using ECS, avoid sensitive or user‑specific addresses.
Compare answer sets for a domain with and without a client subnet hint to understand routing and cache behavior.
Example. Query example.com type AAAA with subnet 2001:db8:: and prefix 56, then compare again without the hint.
No. Lookups run from your browser and files are created locally. The app does not keep server records of your inputs or results.
Network requests go to the resolver and public IP endpoints only.A, AAAA, CNAME, MX, NS, TXT, SOA, CAA, and SRV. ECS applies only to A and AAAA; other types ignore the subnet fields.
They use a monotonic clock per request and include network, server, and parse time. Treat them as comparative guidance, not a benchmark.
A selector is shown, but this version sends lookups to a single public resolver. Use the JSON view to confirm the endpoint.
The answer strings are the same but TTLs differ. That usually indicates different cache positions rather than different routing.
This tool focuses on domain answers and cache behavior. It does not parse or validate certificate signing requests.
Compare becomes available after the first query completes. Run Query first, then you can compare against a no‑hint lookup.
No. It requires network access to reach the resolver and the public IP service when using the convenience button.