SHEET 02: TEST INDEX

List of test queries

Tests are selected by the name you ask for. Some must be aimed at @dnsp.co directly, others are meant to travel through your own resolver. A few need TCP or an alternate port.

Interference

Is anything between you and us changing the answer?

dig @dnsp.co <any name>

Any name resolved through @dnsp.co returns the same fixed address. If it doesn't, someone altered the answer.

x.x.x.x.spec.dnsp.co

Returns the address you embed in the name, useful when you suspect one specific IP is being rewritten in transit.

dnsp.co on UDP/10053
UDP/10053

The same resolver also listens on UDP/10053, so you can compare a non-standard port against port 53.

nx.dnsp.co
<anything>.nx.dnsp.co

Always answers NXDOMAIN. Use it to catch ISPs that replace failed lookups with an advertising landing page.

fail.dnsp.co

fail.dnsp.co is not a nameserver at all. Any response from it was manufactured by something in the path.

Reconnaissance

What does your query look like by the time it reaches us, and who sent it?

reflect.dnsp.co

Returns the address that asked. Directly, that is you; through a resolver, it is the resolver's egress address.

@ipv4.dnsp.co
@ipv6.dnsp.co
Transport

Pins whether your query reaches us over IPv4 or IPv6. Aim at ipv4.dnsp.co or ipv6.dnsp.co instead of dnsp.co, and pair it with reflect to see which address we saw.

help.dnsp.co

The server's own list of every option it answers, straight from the running server rather than from this site.

raw.dnsp.co
<anything>.raw.dnsp.co

A TXT query returns the raw bytes of your request, in hex, exactly as they arrived.

Privacy

What your resolver tells us about you without being asked.

<anything>.log.dnsp.co
TCP for results

Lists every address that has looked up the same label before. Logging always happens, whatever transport you used. Results only come back over TCP, or from the web based log lookup.

dns_probe.html
BrowserNo terminal

Runs the lookup from your browser against a name that exists only for you, then reports which resolver actually asked, whether it disclosed part of your address, whether it minimised the name, and what it claims to support.

Caching

Are you reading a live answer or a stored one?

increment.dnsp.co

Rises on every request until it wraps at 255.255.255.255. If it stops rising, something is serving you a cached copy.

loopback.dnsp.co

Returns a time-based CNAME that resolves to your loopback address, 127.0.0.1 or ::1, so plain ping can tell you whether DNS results are fresh.

time.dnsp.co
time12.dnsp.co
date.dnsp.co

The server's clock encoded as an address, 24-hour, 12-hour, or yy.mm.dd.hh.

random.dnsp.co

A different random address for every request. Back-to-back matches prove something in between is caching.

rndname.dnsp.co

The same idea as random, in the form of a randomised CNAME record.

Resolver behaviour

What your resolver does on your behalf, privacy, validation, limits.

x.count.dnsp.co
TCP only

Returns as many addresses as you ask for, up to 255, a blunt way to find size limits in the path.

edns.dnsp.co

Reports the EDNS(0) parameters that arrived, payload size, DNSSEC request, cookies. These describe the last hop, not you.

ecs.dnsp.co

Tells you whether your resolver disclosed part of your address to us. If it did, every nameserver you query sees that prefix.

0x20.dnsp.co

Reports whether your resolver randomises the capitalisation it sends, a cheap defence against cache poisoning.

tls.dnsp.co
TCP/853

Tells you whether your query arrived encrypted. Over port 853 it reports the TLS version, cipher and certificate.

<a>.<b>.min.dnsp.co

Shows whether your resolver practises QNAME minimisation, sending each server only the labels it needs.

<seconds>.<token>.ttl.dnsp.co

You choose the lifetime in seconds and a token of your own. The address changes whenever we are actually asked, so an answer that outlives the lifetime you set came from a cache.

mismatch.dnsp.co

Answers an A query with a TXT record on purpose, to see whether anything in the path filters mismatched types.

cname.dnsp.co

Carries its message in a CNAME target. Unlike a mismatched type, every resolver follows an alias, a useful control.

ok.dnssec.dnsp.co
bad.dnssec.dnsp.co
expired.dnssec.dnsp.co

Three signed names, correct, corrupted, expired, that reveal whether your resolver validates DNSSEC or just forwards it.

<name>.relay.dnsp.co

The one test that performs a real lookup: we strip the suffix, ask an ordinary resolver, and return what it said.