Security Cipher
Home Blog About Us
Resources β–Ό
πŸ—ΊοΈ Penetration Testing Roadmap 🌐 Web Application Security Checklist πŸ€– OWASP Top 10 for LLM Applications 🧠 LLM AI Security Checklist πŸ› οΈ Security Tools 🎯 Penetration Testing Tricks πŸ“„ Secure Code Explain πŸ“– Vulnerability Explain ☁️ AWS Cloud Security Checklist
My Resume
Contact Us
← Security Tools View on GitHub

dnsvalidator

Builds lists of valid, reliable DNS resolvers for use with mass brute-forcing tools.

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:

  • Baselines non-geolocated domain names against "trusted" public DNS resolvers, 1.1.1.1, 8.8.8.8 and 9.9.9.9
    • For each resolver being tested DNS Validator ensures that each baselined 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 target domains are immediately skipped.

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

  • WARNING Keep the thread count to a reasonable level and/or use a VPS/VPN appropriately. Pushing the thread count too high can make it look like you are attempting to attack DNS servers, resulting in network level DNS blocks from your ISP. Ask us how we know...
  • Root domains used for baseline tests must not be geolocated; specifically they must return the same IP address regardless of the location on the planet they are resolved from. Domains such as google.com or facebook.com (and many others) are not suitable for baselines, as they return a geo-located IP address when resolved.
    • Using a root domain that is geo-located will result in only resolvers local to the user being returned as valid.
Press Escape to close the search panel.

Donate

Buy me a Coffee

Penetration Testing Services - Fiverr

Buy me a Coffee

Penetration Testing Services

penetration Testing Services

Web Application Security Quiz

Web Application Security Quiz

Daily Bug Bounty Writeups - Twitter

Daily Bug Bounty Writeups

Download our Latest Android Application

Guide for Penetration Testing

Daily Bug Bounty Writeups - Telegram

Daily Bug Bounty Writeups

Author

Piyush
Senior Product Security Engineer

Ethical Hacker || Penetration Tester || Gamer || Blogger || Application Security Engineer

READ ARTICLE

Donate

Buy me a Coffee

Recent Posts

  • How I Would Hack Your Startup in 24 Hours (Real-World Pentest Guide)
    How I Would Hack Your Startup in 24 Hours (Real-World Pentest Guide)
    July 27, 2026/
    0 Comments
  • Web Cache Poisoning in 2026: A Practical Playbook (One Request, Every Victim)
    Web Cache Poisoning in 2026: A Practical Playbook (One Request, Every Victim)
    July 19, 2026/
    0 Comments
  • Is AI Killing Bug Bounty? What the 2026 CVE Flood Really Means for Hunters
    Is AI Killing Bug Bounty? What the 2026 CVE Flood Really Means for Hunters
    July 17, 2026/
    0 Comments

Follow Us

SecurityCipher

Practical security guides, vulnerability deep-dives, and hands-on resources for bug bounty hunters and penetration testers.

Useful Links

  • Start Here
  • Cybersecurity Jobs
  • Security Conferences
  • Payload Cheatsheets
  • Interview Prep
  • Report Templates
  • Blogs
  • About
  • Contact
  • RSS Feed

Recent Post

  • How I Would Hack Your Startup in 24 Hours (Real-World Pentest Guide)
  • Web Cache Poisoning in 2026: A Practical Playbook (One Request, Every Victim)
  • Is AI Killing Bug Bounty? What the 2026 CVE Flood Really Means for Hunters
Β© 2026 SecurityCipher. All rights reserved. Privacy Policies Β· Terms & Conditions