A fundamental part of the Internet, essentially a specialised distributed database, the DNS translates one type of thing into another. The usual type of translation, an “A” (for address) lookup, translates a domain name (the human-readable hostname, e.g. example.com) into an IP address. The address can then be used for sending IP packets to that system.Lookup types:
| Lookup type | Usage | |
| A | Address | normal lookup |
| MX | Mail Exchanger | system accepting mail for the domain |
| CNAME | Canonical name | |
| PTR | Pointer | reverse lookup |
| TXT | uninterpreted text | available for any use |
| SOA | Start Of Authority | |
| HINFO | Host Information | |
| NS | Name Server | |
| AAAA | IPv6 lookup | |
| A6 | Alternate IPv6 lookup |
Reverse lookups (rDNS)
The special-purpose domain in-addr.arpa can to used to perform reverse lookups, from IP address to domain name. To do this, reverse the groups of the address, append .in-addr.arpa and do a PTR lookup. E.g. to discover a name for 217.146.107.7 do a PTR lookup on 7.107.146.217.in-addr.arpa.
Tools
On unix systems, “dig” and “nslookup”.
Resolver software
The most popular on Unix systems is “bind”.
DNSBL (DNS-accessible blacklists)
These use the capability of the DNS to publish lookup capability into lists of IP addresses. Typically the query is done as a “A” lookup of the reversed IP prepended to the list name. Some also offer TXT records.