Understanding the dig command
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.
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 64.13.192.208
;; 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
204.152.184.88
:
;; ANSWER SECTION:
mt-example.com. 28626 IN A 64.13.192.208
The final section of the default output contains statistics about the query; it can be toggled with the +[no]stats
option:
;; 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
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
Revisions:
08-07-2008: Article Creation
Fields marked with an asterisk(*) are required. Comment on this article