← Frankys Web GitHub Contact

DNS Lookup

Resolve a name or an IP directly in DNS and show the standard records.

The DNS Lookup resolves a single name or an IP address directly in the public DNS and shows the standard record types with their TTL. It is the basic tool to see what any client actually gets for a name, regardless of what the zone file is supposed to say or what your own cache still holds.

What this tool checks

For an FQDN it queries a fixed set of types: A and AAAA (addresses), CNAME (alias, with the resolved chain and a loop limit), MX (mail servers), NS (responsible name servers), TXT, SOA and CAA. One branch in the tree per type, with the published TTL. For an IPv4 or IPv6 address the reverse lookup runs instead: the PTR record plus the Forward-Confirmed Reverse DNS check of whether the PTR name points forward to the same IP again. Private IP ranges, IDN names and multiple PTR entries are also detected and marked.

Reading the result

Every record found is shown with its value and TTL in the tree. No entry for a type is normal and not an error: not every zone has MX, TXT or CAA. A note appears for a resolved CNAME chain, for private addresses in publicly visible records and for a missing or multiple PTR. A SERVFAIL or a lame delegation is reported as a real error, not as an empty result. The TTL shows how long resolvers cache the value, that is how long a change takes to become visible everywhere.

Background

The DNS is defined in RFC 1034 and RFC 1035, the AAAA record in RFC 3596, important clarifications (among others on CNAME and multiple records) in RFC 2181. Common configuration errors are collected in RFC 1912, the CAA record in RFC 8659. Reverse DNS through PTR under in-addr.arpa and ip6.arpa is described in RFC 1035 and RFC 3596 respectively. There is deliberately no enumeration: no subdomain guessing, no appending of a search list, no ANY, no zone transfer.

Common problems and how to fix them

  • A change does not become visible. Almost always the TTL: the old value is still cached for as long as the earlier TTL stated. Before a planned change, lower the TTL in good time (for example to 300 seconds), then raise it again afterwards.
  • CNAME at the zone apex or next to other records. A CNAME must not sit with MX, TXT or NS at the same name and not at the zone apex. Set A/AAAA directly instead, or use an ALIAS/ANAME record from the DNS provider.
  • No or wrong PTR. The PTR entry is set by the operator of the IP block, usually the host, not in your own domain zone. Have it set to the real host name and make sure that resolves forward to the IP again (FCrDNS).
  • SERVFAIL instead of a result. Points to a broken delegation, a faulty DNSSEC state or unreachable authoritative name servers. Check the NS records and their reachability, and with DNSSEC check the key and DS state.
  • Multiple PTR entries for one IP. Allowed, but many receiving mail servers only evaluate the first one. For a sending mail IP, reduce it to exactly one unambiguous PTR.

Common questions

Which record types are queried?
A, AAAA, CNAME, MX, NS, TXT, SOA and CAA, each for exactly the name entered. The list is fixed so the query stays lean and fast.
What does the TTL of a record mean?
Time to live in seconds: this is how long a resolver may cache the value before fetching it again. A high TTL takes load off the name servers but delays changes. Lower the TTL beforehand ahead of a change.
Why are no subdomains shown?
The tool does no enumeration, it only resolves the name entered. So enter a subdomain directly.
What happens when I enter an IP address?
Then a reverse lookup runs: the PTR record of the IP plus the FCrDNS check of whether the PTR name resolves, via A or AAAA, back to exactly that IP.
My PTR record is missing, where do I set it?
Reverse DNS entries are managed by the operator of the IP address block, usually the host or provider, not your own domain zone. Have the PTR set there to the real host name.
Why does my name show 'no SOA'?
Only the origin of a zone has an SOA record. For a name below the zone the SOA query returns nothing, which is normal.