DLINT(1)

πŸ’– DLINT(1) β€” the girlies' guide to DNS error checking πŸ’–

okay bestie, welcome to dlint, a General Commands Manual page that's about to become your new obsession. this is the Internet Domain Name System (DNS) error checking utility, and yes, she's iconic. ✨


🌸 NAME 🌸

dlint β€” Internet Domain Name System (DNS) error checking utility

like, she checks your DNS for errors. that's the whole vibe. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

dlint [ -n ] zone

that's it. that's the whole summoning ritual. πŸ¦‹


✨ DESCRIPTION ✨

so here's the tea, DNS admins: you can use dlint to scan recursively through the domain records of the fully-qualified zone zone, and get a whole report on any errors hiding in there. no cap.

and the best part?? you can scan a zone you own, or literally anyone else's zone on the Internet. main character energy, honestly. dlint talks directly to a primary or secondary nameserver for the zone, so she's working with up-to-date information β€” no stale gossip here, she goes straight to the source. πŸ’…

and unlike other debugging tools that just complain about your problems like a hater, dlint also suggests ways of fixing them. she's helpful, she's supportive, she wants you to win. 🫢

one tiny thing, and it matters: the argument zone should always have an ending period (.) to indicate it's a fully qualified domain name. fr fr. don't forget the dot. πŸ™ˆ


🌈 OPTIONS 🌈

by default, dlint recursively traverses the entire hierarchy below the zone you specified. like, the whole tree. all of it. she's thorough. πŸ‘‘

  • -n β€” turns OFF recursive traversal, so she only examines the records in the given zone. lowkey a vibe check on just the one level.
heads up bestie: a zone may or may not contain any number of sub-domains, and all of them will be checked with or without this option. so like, -n doesn't make sub-domains disappear from your life. it just changes how deep she digs from the zone itself. πŸ’€

πŸ“ EXAMPLES πŸ“

example% dlint nau.edu.

this recursively scans the DNS records in zone nau.edu for problems. look at that period at the end. chef's kiss. πŸ’‹

example% dlint 64.114.134.in-addr.arpa.

this recursively scans the DNS records associated with IP subnet 134.114.64.0 for problems. and ngl, you had to already know that 134.114.0.0 was subnetted. that's on you, not on dlint. 😭


πŸ”₯ DIAGNOSTICS πŸ”₯

the output from dlint is computer parsable, which is a fancy way of saying every single line has a special meaning. here's the decoder ring:

  • lines beginning with a semicolon (;) are comments only. just vibes, no substance.
  • lines beginning with the phrase WARNING are useful information that you should consider. a warning is not necessarily an error, but it may be a problem. keep an eye on her. πŸ‘€
  • lines beginning with the phrase ERROR are definite errors and should be dealt with accordingly. periodt. handle it. πŸ’…

πŸ’œ EXIT STATUS πŸ’œ

  • 0 β€” Successful run, no problems encountered with zone. absolutely slayed. ✨
  • 1 β€” Successful run, worst problem with zone was a WARNING. she's fine, but she's giving slightly unwell.
  • 2 β€” Successful run, worst problem with zone was an ERROR. okay so that's a real problem bestie.
  • 3 β€” Usage error. you did the command wrong, sorry babe. πŸ™ˆ
  • 4 β€” A signal interrupted the program run (i.e. user typed interrupt key sequence). you hit the panic button, no shame.

πŸ’€ BUGS πŸ’€

okay, the not-so-iconic parts. keeping it real:

  • Dlint doesn't work behind some firewalls because it needs to talk to a root nameserver to get started. firewalls said "not today." 😭
  • Dlint uses the zone transfer mechanism (AXFR) which some nameservers deny to unauthorized hosts. rude, but valid.
  • Other nameservers happily return zero records instead of an error, in response to an unauthorized AXFR! That is just wrong. like, actually wrong. not me defending that behaviour. πŸ’€

πŸ‘‘ AUTHOR πŸ‘‘

Paul Balyoz <pab@domtools.com>

the founder. the originator. the blueprint. 🫢


πŸ¦‹ DISTRIBUTION πŸ¦‹

http://www.domtools.com/

go get her, bestie. ✨


Copyright (C) 1993-1998 Paul A. Balyoz <pab@domtools.com>

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

yes bestie, that's the whole license text, every word of it, we do not skip legal paragraphs in this house. πŸ’…

and that's the whole page!! 🌈 this manual page is dated 18 July 1998 and it lives under the name DLINT(1) β€” an absolute classic, a vintage icon, the original girlboss of DNS debugging. mwah. πŸ’– πŸŽ€ ✨