WARNING: Wiki content is an archive, no promise about quality!
Intro
This program simply checks whether or not you have the authoritative nameserver for a given domain. It is implicitly called by the other dns* programs I've written, all it does is look up a random subdomain and see if the response comes back.
Usage
./dnstest --domain <domain>
-h --help
Help (this page).
-d --domain <domain>
The domain name to check. The lookup will be for [random].domain.
--dns <server>
Set the DNS server. Default: the system's first DNS server.
-s --source <address>
The local address to bind to. Default: any (0.0.0.0)
-p --port <port>
The local port to listen on. I don't recommend changing this.
default: 53.
--rport <port>
The port to send the request to. Default: 53.
-u --username
Drop privileges to this user after opening socket (default: 'nobody')
-V --version
Print the version and exit
Example
There isn't really much to this program, but here's how it looks running on my laptop (which is the authoritative server for skullseclabs.org):
$ sudo ./dnstest
Listening for requests on 0.0.0.0:53
Sending request to 208.81.7.10:53
Trying to look up domain: avobwnjlopakgmdt.skullseclabs.org
Received a response: avobwnjlopakgmdt.skullseclabs.org
Contgratulations, you have the proper DNS server for this domain!