Free preview

Seeing It Live: nslookup and dig

Why this matters: everything in this chapter is observable from your terminal in about thirty seconds. Running these commands turns the hierarchy, caching, TTL, and round robin from things you memorized into things you have watched happen.

Key takeaway

Two commands show you the whole system: nslookup for a quick answer, dig for the full record with TTL and timing. Run them on any domain and you can read the cache state, the record's freshness, and the load-balancing strategy directly off the output.

Try it now

nslookup www.google.com
dig www.google.com

Reading the nslookup output

Server:      2406:7400:a:10::2
Address:     2406:7400:a:10::2#53

Non-authoritative answer:
Name:    www.google.com
Address: 142.251.156.119
Name:    www.google.com
Address: 142.251.151.119
Name:    www.google.com
Address: 142.251.150.119
Name:    www.google.com
Address: 142.251.152.119

Two things to read here:

"Non-authoritative answer" — this indicates the response came from a cache, such as your ISP or university resolver, rather than directly from the authoritative name servers. This single line is the caching lesson made visible: your query never reached Google's servers at all.

Multiple addresses, and their order. Run the command several times and the list may come back in a different order. That is DNS round robin, the load-balancing technique from the previous lesson. Note also that the set of addresses can differ between runs — large services return a subset from a much larger pool.

Reading the dig output

dig shows considerably more:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41570
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;www.google.com.            IN  A

;; ANSWER SECTION:
www.google.com.     256     IN  A   142.251.150.119
www.google.com.     256     IN  A   142.251.152.119
www.google.com.     256     IN  A   142.251.157.119
www.google.com.     256     IN  A   142.251.155.119
...

;; Query time: 4 msec
;; SERVER: 2406:7400:a:10::2#53
FieldWhat it tells you
ANSWER SECTIONThe records returned — here 8 A records, the address list DNS hands the client
The number after the name (256)TTL in seconds — how long this record may still be cached
IN AClass INternet, record type A — the record types from Lesson 2
Query timeTime to receive a response. Single-digit ms means a cache hit; tens or hundreds means a real walk
SERVERWhich resolver answered you
status: NOERRORThe lookup succeeded. NXDOMAIN here would mean the name does not exist

A TTL of 300 would mean the resolver caches this record for five minutes (300 / 60) before refreshing it. A query time of 4 msec is far too fast to have walked the hierarchy — that answer came from a nearby cache.

Watch the TTL count down

This is the most convincing demonstration in the chapter. Run dig on the same name twice, a little apart:

dig www.google.com +noall +answer

www.google.com.     256     IN  A   142.251.155.119     <- first run

...a few minutes later...

www.google.com.      96     IN  A   142.251.155.119     <- same record, lower TTL

The TTL decreases between runs. That is the resolver telling you exactly how much life its cached copy has left — it is counting down from the original value toward zero, at which point it will discard the record and fetch it again.

Walking the hierarchy yourself

dig +trace performs the iterative resolution from Lesson 4 explicitly, showing every referral:

dig +trace www.google.com

.    600  IN  NS  a.root-servers.net.
.    600  IN  NS  b.root-servers.net.
...
.    600  IN  NS  m.root-servers.net.

That list is the 13 logical root servers, labeled a through m, exactly as described in Lesson 6. Let the trace continue and you will see it descend to the .com TLD servers, then to Google's authoritative servers, then to the final A record — the full root → TLD → authoritative walk, one referral at a time.

What to look for on any domain

ObservationWhat it implies
Very short TTL (30-60 s)They expect to move traffic — active failover or a migration in progress
Long TTL (hours)Stable infrastructure; changes will propagate slowly
Many A recordsRound robin or a large edge fleet
CNAME to a provider's hostnameA CDN or managed service sits in front
Query time under 10 msCache hit — the hierarchy was never touched
Different answers from different networksGeolocation or latency-based routing is in play

Key takeaway

You can read a company's DNS strategy off two commands. TTL reveals how fast they intend to change things, record count reveals their balancing approach, and a CNAME reveals whose infrastructure is really in front.

Interview signal by level

LevelWhat a strong answer sounds like
L4Knows nslookup resolves a name.
L5Reads the output: "non-authoritative means it came from a cache, and the TTL tells me how long it's held."
Staff+Uses it diagnostically: "I'd dig from the affected region to see which answer that resolver returns and how much TTL is left — that tells me whether users are stuck on a stale record and roughly how long until they converge."

Next: designing the whole system from scratch.

Enjoying the preview?

Create a free account to unlock the rest of this course, the in-browser judge, and live AI mock interviews.

Sign up free to continue