Master the Linux nslookup Command: A Comprehensive Guide

Peter Hou
3 min readJun 3, 2023

--

This article provides an in-depth guide to understanding and using the nslookup command in Linux. It covers the command's history, purpose, how to use it, common parameters with examples, other supported parameters, common use cases, tricky skills, points to be aware of, and concludes with a summary of the importance of understanding nslookup.

Instructions

This article provides an in-depth guide to understanding and using the nslookup command in Linux. It covers the command's history, purpose, how to use it, common parameters with examples, other supported parameters, common use cases, tricky skills, points to be aware of, and concludes with a summary of the importance of understanding nslookup.

History

The nslookup command is part of the bind utilities of any Unix system and has been around since the early days of the Unix operating system. It is a network administration tool for querying the Domain Name System (DNS) to obtain domain name or IP address mapping.

When and why to use it

nslookup is used for handling DNS lookups and displays crucial information such as an IP address, MX records, and other data associated with the domain. It can be used for troubleshooting to check if the DNS is set up correctly, whether the mail server is set up correctly, and more.

How to use it

The basic usage of nslookup involves typing the command followed by the domain or IP address that you wish to query.

$ nslookup google.com
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: google.com
Address: 172.217.22.14

The commonly used parameters

nslookup has several parameters that modify its behavior:

  • -type= this parameter can be used to specify the DNS resource record type that you want to query for.
$ nslookup -type=mx google.com
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
google.com mail exchanger = 10 google-smtp-in.l.google.com.
  • -debug this parameter prints debugging information.
$ nslookup -debug google.com
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: google.com
Address: 172.217.22.14

Other supported parameters

There are several parameters supported by nslookup, including -sil[ent], -[no]recurse, -port=, -retry=, -timeout=, -[no]defname, -[no]search, -querytype=, -[no]vc, -ignoretc, and -[no]fail. Each parameter provides specific functionality to the nslookup command.

Most common use cases

nslookup is commonly used to find the IP address of a hostname or the hostname of an IP address.

$ nslookup 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
8.8.8.8.in-addr.arpa name = dns.google.

The tricky skills

One tricky skill with nslookup involves querying other DNS servers by specifying the server before the domain.

$ nslookup google.com 8.8.4.4
Server: 8.8.4.4
Address: 8.8.4.4#53

Non-authoritative answer:
Name: google.com
Address: 172.217.22.14

What needs to be noted

nslookup is being slowly phased out for more powerful commands such as dig and host. Despite this, many systems still include nslookup as a legacy tool.

Conclusion

nslookup remains a useful tool for network administrators and anyone looking to learn more about DNS and IP address mapping. Even though there are more powerful alternatives, understanding nslookup provides a solid foundation.

--

--

Peter Hou
Peter Hou

Written by Peter Hou

I am a Senior Software Engineer and tech lead in a top tech company.

No responses yet