ZDNS is a high-speed DNS resolver and command-line utility designed for large-scale DNS measurements. It is particularly useful for researchers, network administrators and anyone needing to investigate large collections of domain names.
The application combines a command-line interface with a reusable Go resolver library. It can query existing DNS resolvers or perform recursive resolution itself, following the DNS hierarchy from the root nameservers. Its modular architecture supports conventional DNS queries, more complex lookups and structured output suitable for automated analysis.
ZDNS is optimised for concurrent operation, with controls for balancing throughput against resolver limits and network resources. It supports both conventional and encrypted DNS queries, making it useful for investigating resolver behaviour as well as collecting DNS records at scale.
This is free and open source software.
Key Features
- High-speed, concurrent DNS lookups for large-scale measurement and analysis.
- Supports DNS-over-HTTPS (DoH) and DNS-over-TLS (DoT) alongside conventional DNS queries.
- Performs DNSSEC validation and follows CNAME and DNAME records.
- Raw DNS modules covering A, AAAA, MX, TXT, DNSKEY, HTTPS, SVCB and numerous other record types.
- Lookup modules including alookup, mxlookup and nslookup for resolving related records automatically.
- Iterative DNS resolution with a configurable local cache.
- Queries every nameserver associated with a domain using the all-nameservers option.
- Runs multiple lookup modules in a single operation with module-specific configuration.
- Accepts domain lists, zone files and per-domain nameserver mappings.
- Supports per-input triggers for selecting different DNS lookup modules.
- Configurable concurrency, timeouts, retries and resolver selection.
- Structured JSON output with configurable verbosity, including full recursive traces.
- Cross-platform support – runs on Linux and macOS.
Website: github.com/zmap/zdns
Support:
Developer: ZMap Project
License: Apache License 2.0

ZDNS is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| Alternatives to dig | |
|---|---|
| dog | DNS client with colorful output, DNS-over-TLS and DNS-over-HTTPS support |
| doggo | Command-line DNS client for humans |
| drill | Perform DNS lookups and display answers returned from the name server(s) |
| dnslookup | Supports plain DNS, DoH, DoT, DoQ, and DNSCrypt |
| dug | Global DNS propagation checker |
| q | Support for UDP, TCP, DoT, DoH, DoQ and ODoH |
| DNS Clients | |
|---|---|
| dog | Colourful output, understands normal command-line argument syntax |
| doggo | Command-line DNS client for humans |
| q | Tiny command line DNS client supporting UDP, TCP, DoT, DoH, DoQ and ODoH |
| ddclient | Update dynamic DNS entries |
| GoDNS | Dynamic DNS (DDNS) client tool |
| dig | DNS lookup utility |
| awl | DNS lookup tool |
| ZDNS | High-speed DNS resolver and command line utility |
| dnslookup | Make DNS lookups |
| dug | Global DNS propagation checker |
| drill | Perform DNS lookups |
| dness | Dynamic DNS client |
| zns | Fast DNS lookup tool with DNSSEC validation and delegation tracing |
| In-a-Dyn | Small and simple Dynamic DNS, DDNS, client |
| doh | Query multiple DNS-over-HTTPS resolvers with JSON output |
| dnsupdate | Modern and flexible dynamic DNS client |
| ch4 | Dig-compatible DNS client with UDP, TCP and EDNS support |
| wig | Simple and lightweight DNS client |
| dyndnsc | Dynamic DNS update client |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.