Skip to content

dnsx

Fast and flexible DNS toolkit for running multiple DNS queries, resolving subdomains and validating DNS records.

Self-hostedNot yet verified
Report issue
MIT★ 3000Source project only — not browser-runnable

External Tool

This open-source tool is maintained externally. View the source on GitHub to learn more or run it yourself.

Browse network tools →

What's next with dnsx?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is dnsx?

dnsx is an open-source DNS toolkit designed for efficient DNS record querying and resolution tasks. It enables users to perform multiple DNS queries simultaneously using custom resolver configurations, addressing challenges in DNS enumeration and subdomain discovery. Security researchers, penetration testers, and network engineers leverage dnsx to automate DNS-related workflows, such as identifying wildcard DNS records or validating resolver behavior. The tool solves problems related to traditional DNS tools by offering faster query execution, support for diverse resolver protocols, and integration with wildcard filtering techniques to enhance discovery capabilities.

How it works

dnsx is a fast, multi-purpose DNS toolkit built on the retryabledns library, enabling users to execute DNS queries and resolve domain names efficiently. It is tailored for scenarios requiring bulk DNS resolution, such as subdomain discovery or validating DNS configurations. The primary purpose of dnsx is to streamline DNS operations by supporting multiple query types (A, AAAA, CNAME, etc.) and allowing users to specify custom resolvers. This makes it a critical tool for tasks like network reconnaissance or troubleshooting DNS misconfigurations. dnsx supports standard DNS record types including A, AAAA, CNAME, PTR, NS, MX, TXT, SRV, and SOA. It also includes DNS resolution and brute-force features for discovering subdomains and validating DNS configurations. The tool accommodates resolver inputs in various formats (TCP/UDP/DOH/DOT) and allows users to leverage stdin/stdout for flexible data handling.

How to use it

  1. 1Install dnsx via Go (go get github.com/projectdiscovery/dnsx) or download binaries from the release page. 2. Prepare a list of domains or subdomains to query, formatted in a text file. 3. Run dnsx with custom resolvers using the -r flag, specifying resolver URLs (e.g., -r 8.8.8.8,1.1.1.1). 4. Use wildcard filtering with -w to detect wildcard DNS records. 5. Redirect output to a file using > output.txt for later analysis. Practical tips: Use the -t flag to specify query types (e.g., -t A for IPv4 addresses). Combine with tools like gobuster for subdomain brute-forcing. Ensure resolvers are reliable and geographically diverse for accurate results.

What it can do

  • DNS toolkit

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/projectdiscovery/dnsx
  • license: MIT — free to use
  • privacy: Self-hosted — you control your data

Limitations

  • Dual-use tool — use only with explicit authorization on systems you own or have permission to test.
  • Reliance on public DNS resolvers may limit effectiveness in restricted networks
  • Lacks advanced TLS/SSL validation for DNS over HTTPS (DOH) queries
  • Wildcard filtering requires pre-defined patterns and may miss dynamic configurations
  • No built-in support for DNSSEC validation or zone transfers

Understanding the result

Fast and flexible DNS toolkit for running multiple DNS queries, resolving subdomains and validating DNS records.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by (MIT).
Built with
(projectdiscovery/dnsx)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Query
Output
Text
Open-source source & license

Built with projectdiscovery/dnsx. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

How does dnsx handle DNS resolver failures?

dnsx uses the retryabledns library to automatically retry failed DNS queries with alternative resolvers. It prioritizes resolvers based on reliability metrics and logs failed attempts for manual investigation. Users can configure custom resolver lists to bypass unreliable endpoints.

What DNS query types are supported by dnsx?

dnsx supports standard DNS record types including A, AAAA, CNAME, PTR, NS, MX, TXT, SRV, and SOA. Users can specify query types via the -t flag, enabling targeted DNS enumeration for specific record categories.

How do I perform a DNS brute-force attack with dnsx?

To brute-force subdomains, use the -u flag with a wordlist (e.g., -u subdomains.txt). dnsx will append each term to a base domain and resolve the resulting DNS records. Combine this with the -r flag to specify resolvers and -w for wildcard filtering to enhance discovery.

How does dnsx compare to shuffledns?

dnsx and shuffledns both handle DNS wildcard filtering, but dnsx offers broader resolver support (TCP/UDP/DOH/DOT) and faster query execution through parallel processing. shuffledns focuses on subdomain discovery with a simpler interface, while dnsx is more flexible for advanced DNS analysis tasks.

What should I do if dnsx returns no results?

Verify that the input domain is valid and resolvers are functioning correctly. Check for typos in resolver URLs or domain names. Use the -v flag to enable verbose output for detailed error logs. Ensure the target domain's DNS records are publicly accessible and not blocked by firewalls.

Spotted something wrong with dnsx, or want to maintain it? See how to help.