Forked from https://github.com/vortexau/dnsvalidator.
This version is much less feature rich than the original. However, it doesn't look like the original is being maintained & there is a possibility that it will not return an output (see: vortexau/dnsvalidator#27)
DNSValidator's approach is different to other DNS query validation tools. This tool performs multiple validation steps on each resolver:
- Baselines non-geolocated domain names against "trusted" public DNS resolvers i.e.
1.1.1.1
(Cloudflare),8.8.8.8
(Google), and9.9.9.9
(Quad9)- For each resolver being tested DNS Validator ensures that each baseline domain name resolves to the same IP Address.
- Servers that return an answer that differs from the baseline are immediately skipped
- Performs DNS lookup of known commonly spoofed DNS addresses to ensure NXDOMAIN is returned when expected.
- Resolvers that do not return NXDOMAIN for random subdomains of known bad target domains are immediately skipped.
❯ git clone https://github.com/frost19k/DNSValidator.git ./dnsvalidator
❯ cd ./dnsvalidator
❯ pip3 install .
❯ docker pull frost19k/dnsvalidator
❯ git clone https://github.com/frost19k/DNSValidator.git ./dnsvalidator
❯ cd ./dnsvalidator
❯ docker buildx build -t dnsvalidator .
Argument | Description |
---|---|
-i, --input-file | File containing Public DNS Servers (Default: public-dns.info) |
-o, --output-file | Output file name (Default: "./resolvers.txt") |
-r, --root-domain | Root domain to validate against (default: bet365.com) |
-t, --threads | Number of concurrent threads (Default: 2) |
-v, --verbose | Print additional error messages |
-q, --quiet | Do not print banner or error messages |
❯ dnsvalidator -i nameservers.txt -o myResolvers.txt -t 12
❯ docker run -it --rm -v "${PWD}":"/output" frost19k/dnsvalidator -t 12
-
Only IPv4 DNS Resolvers are validated at the current time. IPv6 resolvers are skipped.
-
WARNING: Keep the thread count at a reasonable level and/or use a VPS/VPN appropriately. Pushing the thread count too high will give the impression that you are attempting to attack DNS servers, resulting in network level DNS blocks from your ISP.