Dig

dig is a program used to manually send requests to DNS servers.

When using dig you can choose which server to ask (and override your settings from /etc/resolv.conf), so the program is often used to diagnose DNS-related problems.

It is distributed with BIND.

Dig answers look this way:

$ dig linuxquestions.org ; <<>> DiG 9.2.3rc2 <<>> linuxquestions.org ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45220 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 0 ;; QUESTION SECTION: ;linuxquestions.org. IN     A   ;; ANSWER SECTION: linuxquestions.org. 3600   IN      A       64.179.4.149 ;; AUTHORITY SECTION: linuxquestions.org. 3600   IN      NS      ns1.linuxquestions.org. linuxquestions.org. 3600   IN      NS      ns2.linuxquestions.org. linuxquestions.org. 3600   IN      NS      ns1.linuxquestions.net. ;; Query time: 211 msec ;; SERVER: 192.168.1.1#53(192.168.1.1) ;; WHEN: Thu Sep 9 22:57:54 2004 ;; MSG SIZE rcvd: 124

In the ANSWER SECTION there's IP address of the site (linuxquestions.org). AUTHORITY SECTION lists all DNS servers for the domain.

In the example above the default DNS server is used. To query a specific server use something like

dig @192.168.1.1 linuxquestions.org

Dig is a replacement for nslookup.