Overview
The command dig is a tool for querying DNS nameservers for information about host addresses, mail exchanges, nameservers, and related information. This tool can be used from any Linux (Unix) or Macintosh OS X operating system. The most typical use of dig is to simply query a single host.
Instructions
Run the command:
dig mt-example.com
View the Output:
; <<>> DiG 9.4.1-P1 <<>> mt-example.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25550
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;mt-example.com. IN A
;; ANSWER SECTION:
mt-example.com. 28626 IN A 205.186.150.66
;; Query time: 4 msec
;; SERVER: 64.207.129.21#53(64.207.129.21)
;; WHEN: Thu Aug 7 16:49:35 2008
;; MSG SIZE rcvd: 48
Understanding the Results
The opening section of dig’s output tells us a little about itself (version 9.4.1) and the global options that are set (in this case, printcmd
):
; <<>> DiG 9.4.1-P1 <<>> mt-example.com
;; global options: printcmd
Here, dig tells us some technical details about the answer received from the DNS server. This section of the output can be toggled using the +[no]comments option—but beware that disabling the comments also turns off many section headers:
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25550
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
In the question section, dig reminds us of our query. The default query is for an Internet address (A).
;; QUESTION SECTION:
;mt-example.com. IN A
Now we have our anwser, the address of mt-example.com is 205.186.150.66.
;; ANSWER SECTION:
mt-example.com. 28626 IN A 205.186.150.66
The final section of the default output contains statistics about the query; it can be toggled with the +[no]stats option.
;; Query time: 272 msec
;; SERVER: 208.67.222.222#53(208.67.222.222)
;; WHEN: Thu Feb 13 09:35:55 PST 2014
;; MSG SIZE rcvd: 48
A quick way to just get the answer only is to run the following command:
dig mt-example.com +short
What can I find using the dig command?
dig will let you perform any valid DNS query, the most common of which are:
- A (the IP address),
- TXT (text annotations),
- MX (mail exchanges), and
- NS nameservers.
Use the following command to get the addresses for mt-example.com.
dig mt-example.com A +noall +answer
Use the following command to get a list of all the mailservers for mt-example.com.
dig mt-example.com MX +noall +answer
Use the following command to get a list of authoritative DNS servers for mt-example.com.
dig mt-example.com NS +noall +answer
Use the following command to get a list of all the above in one set of results.
dig mt-example.com ANY +noall +answer
Use the following command to query using a specific nameserver.
dig @ns1.mediatemple.net mt-example.com
Use the following to trace the path taken.
dig mt-example.com +trace