Information Gatheringdnsresolverbulkreconnaissancehigh-performance

massdns

High-performance DNS stub resolver for resolving massive amounts of domain names, capable of over 350,000 names per second using public resolvers. Designed for bulk lookups and reconnaissance.

Description

massdns is a simple high-performance DNS stub resolver targeting users who need to resolve millions or billions of domain names efficiently. Without special configuration, it achieves high resolution rates using publicly available resolvers, making it ideal for large-scale DNS operations.

It supports bulk lookups and reconnaissance tasks, providing various output formats and advanced options for filtering and processing responses. The tool is particularly useful in scenarios requiring rapid domain resolution at scale.

massdns includes options for privilege dropping, custom resolver usage, and detailed control over output, enhancing its utility in security testing environments.

How It Works

massdns operates as a DNS stub resolver using high-performance techniques like busy-wait polling or epoll for handling massive parallel queries. It resolves domain names by querying specified or file-based resolvers, with configurable retry counts and fallback mechanisms. Output modes include domain lists, simple text, full text, binary, and ndjson, with advanced flags for filtering responses by code, including additional records, timestamps, and section separation.

Installation

bash
sudo apt install massdns

Flags

-b, --bindtoBind to IP address and port. (Default: 0.0.0.0:0)
--busy-pollUse busy-wait polling instead of epoll.
-c, --resolve-countNumber of resolves for a name before giving up. (Default: 50)
--drop-groupGroup to drop privileges to when running as root. (Default: nogroup)
--drop-userUser to drop privileges to when running as root. (Default: nobody)
--extended-inputInput names are followed by a space-separated list of resolvers. These are used before falling back to the resolvers file.
--filterOnly output packets with the specified response code.

Examples

Display the full usage help and available options.
massdns -h
Perform bulk DNS resolution on a list of domains using default settings.
massdns [domainlist]
Bind to specific IP and port before resolving domains.
massdns -b 0.0.0.0:53 [domainlist]
Set resolve retry count to 10 for each name.
massdns -c 10 [domainlist]
Output results in domain list format (L mode).
massdns -L [domainlist]
Output results in simple text format (S mode).
massdns -S [domainlist]
Output results in full text format (F mode).
massdns -F [domainlist]
Output results in ndjson format (J mode).
massdns -J [domainlist]
Updated 2026-04-16kali.org ↗