dig DNS lookups
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
dig <name>
dig +short <name>
dig <name> MX
dig @<server> <name>
dig -x <ip>
dig +trace <name>
dig +noall +answer <name>
dig <name> ANY
Concepts
- Your machine dig
- Resolver @server or resolv.conf
- Root / TLD delegations
- Authoritative the final answer
Basic queries
dig <name>
dig <name> <type>
dig -t <type> <name>
dig <name> AAAA
dig <name> MX
dig <name> NS
dig <name> TXT
dig <name> CNAME
dig <name> SOA
dig <name> SRV
dig <name> CAA
dig <name> ANY
dig <name1> <name2>
Choose the server
dig @<server> <name>
dig @1.1.1.1 <name>
dig @<ns> <name> +norecurse
dig -p <port> @<server> <name>
dig -4 <name>
dig -6 <name>
dig -b <addr> <name>
dig +tcp <name>
dig +tls @<server> <name>
dig +https @<server> <name>
dig +nsid @<server> <name>
Output control
dig +short <name>
dig +noall +answer <name>
dig +noall +answer +ttlunits <name>
dig +nocmd <name>
dig +nocomments <name>
dig +nostats <name>
dig +multiline <name> SOA
dig +yaml <name>
dig +identify +short <name>
dig +noall +authority <name>
dig +noall +additional <name>
dig +qr <name>
dig -u <name>
dig +short -x <ip>
Reverse and tracing
dig -x <ip>
dig <d.c.b.a>.in-addr.arpa PTR
dig +trace <name>
dig +trace +nodnssec <name>
dig +nssearch <zone>
dig NS <zone> +short
dig CH TXT version.bind @<server>
DNSSEC and EDNS
dig +dnssec <name>
dig <name> DNSKEY +dnssec
dig <name> DS
dig +cd <name>
dig +subnet=<ip>/<len> <name>
dig +bufsize=<bytes> <name>
dig +cookie <name>
Timing and reliability
dig +timeout=<sec> <name>
dig +tries=<n> <name>
dig +retry=<n> <name>
dig +fail <name>
dig +ignore <name>
dig +search <name>
dig +keepopen -f <file> +tcp
Batch and config
dig -f <file>
dig -r <name>
dig -q <name> -t <type>
dig -c <class> <name>
dig -k <keyfile> <name>
dig -v# one line, read on every run (-r skips it)+noall +answer
# queries.txtexample.com Aexample.com MX +short-x 8.8.8.8
Reading the output
| Item | Meaning |
|---|---|
status: NOERROR |
Query succeeded (answer may be empty) |
status: NXDOMAIN |
Name does not exist |
status: SERVFAIL |
Server could not answer |
status: REFUSED |
Server will not answer you |
flags: qr |
This is a response |
flags: aa |
Authoritative answer |
flags: rd ra |
Recursion asked / available |
flags: ad |
DNSSEC validated |
flags: tc |
Truncated, retry over TCP |
| Field | Example |
|---|---|
name |
example.com. |
TTL (seconds) |
300 |
class |
IN |
type |
A |
data |
93.184.216.34 |
Recipes
for s in 1.1.1.1 8.8.8.8 9.9.9.9; do echo "$s: $(dig +short @$s <name>)"done
for ns in $(dig +short NS <zone>); do dig +short @$ns SOA <zone>done# differing serials mean zone replication lag
dig +tries=1 +timeout=2 +norecurse @<server> <name>dig +trace <name> | tail -20
while read ip; do echo "$ip $(dig +short -x $ip)"done < ips.txt



