News for hackers. Stuff that matters.
Re:Hello, and welcome to DNS by inopinatus on Saturday March 31, 2018 @09:26AM (#16723192)
> What about programs run by clients that look things up over at authoritative servers?

Aside from the utilities like dig, I call those “resolvers” too. Doesn’t matter if they’re client-specific. The term still fits, it describes what the code is doing.

Re:Hello, and welcome to DNS by feelin_googley on Saturday March 31, 2018 @10:56AM (#16723544)
Heres Wikipedia:

"Stub resolvers are "minimal DNS resolvers that use recursive query mode to offload most of the work of DNS resolution to a recursive name server."

A stub resolver will simply forward a request to a recursive name server..."

dig can send both recursive and non-recursive queries.

This appears to meet the definition of a "stub resolver" according the definition above.

However I am asking about programs that send only non-recursive queries and only send them to authoritative nameservers.

(FWIW I do not consider caches to be authoritative for any name.)

Is there a well-understood term to describe this type of program?

Re:Hello, and welcome to DNS by inopinatus on Saturday March 31, 2018 @09:45PM (#16726247)
You seem to be trying to classify DNS clients by what they do mechanically. But that isn't the case. DNS software is classified according to its role and expected capabilities. There's a relationship between role and action, but it's the former that matters much more when it comes to naming of parts.

Rather than looking at Wikipedia I suggest consulting RFC 7719 "DNS Terminology", https://tools.ietf.org/html/rfc7719 where you will find that your program is simply called a "resolver": "A program that extract[s] information from name servers in response to client requests."

That RFC further describes some specific classes of resolver, but dig is most definitely not a "stub resolver" because these are characterised by what they cannot do, whilst dig is a swiss-army knife utility that can do a great deal - which merely happens to include, amongst other things, sending the same queries that a stub resolver might send.

In terms of implementation details, your specific description: "programs that send only non-recursive queries and only send them to authoritative nameservers" describes the principal activity of the resolver side of most implementations of a full-service resolver. However if you read that RFC you'll see that it equivocates about the implementation details of full-service resolvers in general, because in classification the role and outcome matters more than the action.

Re:Hello, and welcome to DNS by kilburn on Saturday March 31, 2018 @11:10AM (#16723608)
I think you are asking too much out of this classification. The classification is useful to look at DNS from a "user" perspective, not from a "dns troubleshooter" perspective.

Tools like dig, zonemaster [1], etc. are out of the classification's scope. Oftentimes they can do everything DNS and hence fit none and all of the categories. I would call those "DNS powertools" or something like that.