Bird
Raised Fist0
Linux CLIscripting~3 mins

Why nslookup and dig for DNS in Linux CLI? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could instantly see the internet's phone book and never get lost online again?

The Scenario

Imagine you want to find the address of a website, but you have to ask many people one by one, each giving you a piece of the information. You write down their answers on paper, hoping you got it right.

The Problem

This manual way is slow and confusing. You might write down wrong numbers or miss some details. It's hard to check if the address you got is correct or up to date.

The Solution

Using nslookup or dig commands lets you quickly ask the internet's phone book for exact website addresses. They give clear, fast, and reliable answers without mistakes.

Before vs After
✗ Before
Call ISP support, ask for IP, write it down
✓ After
nslookup example.com
# or
dig example.com
What It Enables

You can instantly find and verify website addresses, helping you troubleshoot or explore the internet with confidence.

Real Life Example

When a website won't load, you can use dig to check if its address is correct or if there's a problem with your connection.

Key Takeaways

Manual DNS checks are slow and error-prone.

nslookup and dig give fast, accurate DNS info.

They help you fix internet problems and understand website addresses easily.

Practice

(1/5)
1. What is the primary purpose of the nslookup command in Linux?
easy
A. To monitor network traffic
B. To edit DNS server settings
C. To find the IP address of a domain name quickly
D. To create new domain names

Solution

  1. Step 1: Understand nslookup's function

    The nslookup command is used to query DNS to find IP addresses or domain names.
  2. Step 2: Identify the main use case

    Its main use is to quickly find the IP address of a given domain name.
  3. Final Answer:

    To find the IP address of a domain name quickly -> Option C
  4. Quick Check:

    nslookup = quick IP lookup [OK]
Hint: nslookup quickly shows IP for a domain [OK]
Common Mistakes:
  • Thinking nslookup edits DNS settings
  • Confusing nslookup with network monitoring tools
  • Assuming nslookup creates domains
2. Which of the following is the correct syntax to use dig to query the A record of example.com?
easy
A. dig -A example.com
B. dig example.com -t A
C. dig example.com A
D. dig -query=A example.com

Solution

  1. Step 1: Recall dig syntax for record type

    The correct syntax uses the -t option to specify the record type, e.g., dig example.com -t A.
  2. Step 2: Match syntax to options

    dig example.com -t A matches this syntax.
  3. Final Answer:

    dig example.com -t A -> Option B
  4. Quick Check:

    dig -t TYPE domain = query record [OK]
Hint: Use -t to specify record type: dig example.com -t A [OK]
Common Mistakes:
  • Placing record type without -t option
  • Using invalid -A flag
  • Using nonexistent -query flag
3. What will be the output of the command nslookup google.com if the DNS server is reachable and working?
medium
A. The IP address(es) of google.com along with DNS server info
B. A list of all DNS servers on the internet
C. A blank output with no information
D. An error message saying 'server can't find google.com'

Solution

  1. Step 1: Understand nslookup output on success

    If the DNS server is reachable, nslookup returns the IP address(es) of the domain and info about the DNS server used.
  2. Step 2: Eliminate incorrect options

    An error message saying 'server can't find google.com' is an error message, which won't appear if DNS works. A blank output with no information is blank output, unlikely. A list of all DNS servers on the internet is unrelated.
  3. Final Answer:

    The IP address(es) of google.com along with DNS server info -> Option A
  4. Quick Check:

    nslookup success = IP + server info [OK]
Hint: Successful nslookup shows IP and server info [OK]
Common Mistakes:
  • Expecting nslookup to list all DNS servers
  • Thinking nslookup outputs blank on success
  • Confusing error messages with normal output
4. You run dig example.com MX but get no answer section in the output. What is the most likely reason?
medium
A. The dig command syntax is incorrect
B. The DNS server is blocking all queries
C. Your internet connection is down
D. The domain example.com has no MX records configured

Solution

  1. Step 1: Analyze dig output with no answer section

    If dig shows no answer section for MX query, it usually means no MX records exist for that domain.
  2. Step 2: Check other options

    The syntax is correct, eliminating A. Internet down would cause timeout or no response. DNS blocking would cause errors like REFUSED, not empty answer.
  3. Final Answer:

    The domain example.com has no MX records configured -> Option D
  4. Quick Check:

    No MX answer = no MX records [OK]
Hint: No answer section means no such DNS record exists [OK]
Common Mistakes:
  • Assuming syntax error when command is correct
  • Blaming internet connection without checking
  • Thinking DNS server blocks cause empty answers
5. You want to write a script that uses dig to check if a domain has an A record and print "Exists" or "Not Found" accordingly. Which command snippet correctly checks this?
hard
A. if dig example.com A +short | grep -q '.'; then echo "Exists"; else echo "Not Found"; fi
B. if dig example.com A | grep -q 'NXDOMAIN'; then echo "Exists"; else echo "Not Found"; fi
C. if nslookup example.com | grep -q 'Address'; then echo "Exists"; else echo "Not Found"; fi
D. if dig example.com MX +short | grep -q '.'; then echo "Exists"; else echo "Not Found"; fi

Solution

  1. Step 1: Understand how to check A record existence with dig

    Using dig example.com A +short returns IP addresses if A records exist; empty if none.
  2. Step 2: Use grep to check output

    Using grep -q '.' checks if output has any character (non-empty). If yes, print "Exists", else "Not Found".
  3. Step 3: Evaluate options

    if dig example.com A +short | grep -q '.'; then echo "Exists"; else echo "Not Found"; fi correctly uses this logic. if dig example.com A | grep -q 'NXDOMAIN'; then echo "Exists"; else echo "Not Found"; fi checks for NXDOMAIN incorrectly. if nslookup example.com | grep -q 'Address'; then echo "Exists"; else echo "Not Found"; fi uses nslookup, not dig. if dig example.com MX +short | grep -q '.'; then echo "Exists"; else echo "Not Found"; fi checks MX records, not A.
  4. Final Answer:

    if dig example.com A +short | grep -q '.'; then echo "Exists"; else echo "Not Found"; fi -> Option A
  5. Quick Check:

    dig +short output empty means no record [OK]
Hint: Use dig +short and grep for quick record check [OK]
Common Mistakes:
  • Checking wrong record type (MX instead of A)
  • Misinterpreting NXDOMAIN in grep
  • Using nslookup output with dig logic
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard