DNS: How to find out which software a remote DNS server is running
Situation
I know the IP address of a DNS server running in the same network on a machine which I can't maintain.
Question
How can find out more about which software that DNS server uses?
Thanks for your help - if anythings unclear, please leave a comment.
Solution 1:
Many DNS servers are pre-configured with version information in DNS TXT records for the version.bind
label in the CHAOS class. If this is the case with yours as well, you could retreive it by running
dig @dns.name.server version.bind chaos txt
Typical answers might include
;; ANSWER SECTION:
version.bind. 0 CH TXT "9.8.1-P1"
or
;; ANSWER SECTION:
version.bind. 1476526080 IN TXT "Microsoft DNS 6.1.7600 (1DB04228)"
or
;; ANSWER SECTION:
version.bind. 0 CH TXT "dnsmasq-2.47"
Apart from this, tools for DNS fingerprinting exist, fpdns probably being the most advanced one.
Solution 2:
The DNS protocols don't have a discovery mechanism built into them like some other protocols do.
This leaves you with indirect methods, such as port-scanning and shoulder surfing, the use of which is not that advisable. If you need to know, working at the human layer is probably the most effective way to get the answer you want without being perceived as an attacker.