Query Internet name servers with a certain DNS server

last updated in Categories FAQ, Linux, Troubleshooting

host, nslookup and dig command used to query Internet name servers interactively (DNS lookup utility). Any one of these command is normally use to convert names to IP addresses and vice versa. These utilities are real lifesaver when you want to troubleshoot problem.

By default, they query and use name server specified in /etc/resolve.conf file. For example, consider output nslookup (use default name server):

$ nslookup

Output:

>cyberciti.biz
Server:         ns9.san.yahoo.com.
Address:        216.109.116.20#53

Name:   cyberciti.biz
Address: 68.142.234.46
Name:   cyberciti.biz
Address: 68.142.234.47
Name:   cyberciti.biz
Address: 68.142.234.44
Name:   cyberciti.biz
Address: 68.142.234.45

Now execute same command as follows:

$ nslookup – ns1.net4india.com

Output:

> cyberciti.biz
Server:         ns1.net4india.com
Address:        202.71.129.33#53

Name:   cyberciti.biz
Address: 67.15.117.192

When the first argument is a hyphen (-) and the second argument is the Internet address of a name server, you are forcing to use a certain name server to nslookup command. This is handy to debug domain related problems. Simlarly you can force dig command to use a certain name server:

$ dig @ns1.net4india.com +qr cyberciti.biz

OR force host command to use a certain nameserver:

$ host cyberciti.biz ns1.net4india.com

See also:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 0 comments/add one below):