dnstrace(1)
π dnstrace β the dns lookup tool, bestie edition π
okay so real talk, this one lives in the General Commands Manual section of your man pages, and it's called dnstrace (1). it's giving detective energy for DNS and honestly? iconic. let's get into it π΅οΈβοΈβ¨
β¨ SYNOPSIS β¨
dnstrace t fqdn r
that's it. three little args. so simple. so powerful. π
πΈ DESCRIPTION πΈ
so what does dnstrace actually do? bestie, it goes on a whole quest. π it searches for all the DNS servers that can affect the resolution of records of type t under the domain name fqdn, starting from the root server r.
and like β you can list more than one root server. yes, plural. go off. π
dnstrace uses the standard DNS resolution algorithm, but here's the twist that makes it the main character: it follows all possible paths in the algorithm. every single one. it's thorough like that. π
it prints all the responses it receives from DNS servers β all of them, no crumbs left behind. and it also prints warnings about:
- slow servers π’
- dead servers π
- misdelegated (``lame'') servers π
- misformatted packets π¦
fr fr, dnstrace is similar in spirit to DOC and dnswalk, but it is much more effective than those tools at debugging resolution problems. not to be shady but... it ate. π₯
π the version 1.03 and above glow-up π
In versions 1.03 and above: you can pipe dnstrace through dnstracesort(1) for human-friendly output. obsessed.
also important: dnstrace can take a long time to run (she's thorough, okay??), so the standard procedure is to save its output in a file:
dnstrace any www.aol.com a.root-servers.net > AOL &
then you can run dnstracesort(1) to see the results so far:
dnstracesort < AOL | less
and psst β the dnstracesort(1) output uses ul codes for boldface and underline; these codes are displayed properly by less(1). cute little detail, yw. π
β οΈ okay bestie, gentle warning time: beware that, as of January 2001,dnstraceproduces more than 5 megabytes of output for the complete trace ofcr.yp.tostarting from all the root servers. it ends up sending more than 6000 queries to more than 200 different servers. that's not a typo. hydrate before you run this. π°π
π¦ SEE ALSO π¦
and if you wanna go straight to the source: http://cr.yp.to/djbdns.html β
and that's the whole vibe, bestie β this lil page is part of the General Commands Manual and signs off as dnstrace(1). go trace some DNS, slay, and remember to redirect your output to a file before your terminal gets humbled. ππ«Ά bye!!
π¦ where this page comes from
- debian bookworm: djbdns-utils 1:1.05-15+b2 Β· LicenseRef-public-domain
- debian trixie: djbdns-utils 1:1.05-22 Β· LicenseRef-public-domain
- nixos 26.05: djbdns 1.05
- nixpkgs unstable: djbdns 1.05
- ubuntu jammy: djbdns-utils 1:1.05-15fakesync1 Β· LicenseRef-public-domain
- ubuntu noble: djbdns-utils 1:1.05-15ubuntu2 Β· LicenseRef-public-domain
- ubuntu questing: djbdns-utils 1:1.05-22ubuntu1
- ubuntu resolute: djbdns-utils 1:1.05-22ubuntu2 Β· LicenseRef-public-domain
- ubuntu stonking: djbdns-utils 1:1.05-23fakesync1 Β· LicenseRef-public-domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms