Home

Awesome

DNS Validator

Maintains a list of IPv4 DNS servers by verifying them against baseline servers, and ensuring accurate responses.

Python 3.2|3.6 License Twitter Twitter

DNSValidator

DNS Validator's approach is different to other DNS query validation tools. This tool performs multiple validation steps on each resolver:

Usage

ArgumentDescription
(stdin)Pipe target lists from another application to verify.
-tSpecify a target DNS server to verify.
-tLSpecify a list of targets or a URL to a list of targets
-eSpecify a target exclusion.
-eLSpecify a list of targets or a URL to a list of targets to exclude.
-rSpecify a root domain to compare to. Must be non-geolocated or most resolvers will fail.
-qSpecify a resolver query to use (default:dnsvalidator)
-threadsSpecify the maximum number of threads to run at any one time (DEFAULT:5)
-timeoutSpecify a timeout value in seconds for any single thread (DEFAULT:600)
-oSpecify an output file to write successful output to.
--no-colorIf set then any foreground or background colours will be stripped out
--silentIf set then only successfully resolved servers will be displayed and banners and other information will be redacted.
-vIf set then verbose output will be displayed in the terminal.

Setup

Install using:

$ python3 setup.py install

Dependencies will then be installed and DNS Validator will be added to your path as dnsvalidator.

Examples:

CLI:

$ dnsvalidator -tL https://public-dns.info/nameservers.txt -threads 20 -o resolvers.txt

Docker:

Build

$ docker build -t dnsvalidator .

Run:

$ docker run -v $(pwd):/dnsvalidator/output -t dnsvalidator -tL https://public-dns.info/nameservers.txt -threads 20 -o /dnsvalidator/output/resolvers.txt

Caveats