blechschmidt/massdns

A high-performance DNS stub resolver for bulk lookups and reconnaissance (subdomain enumeration)

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 3 minutes ago
Added to GitGenius on September 19th, 2026
Created on June 23rd, 2016
Open Issues & Pull Requests: 14 (+0)
GitHub issues: Enabled
Number of forks: 505
Total Stargazers: 3,645 (+0)
Total Subscribers: 72 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 19.5 hours
Mean response time: 33.9 days
90th percentile: 107.1 days
Tracked items: 4

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 476 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

MassDNS is a high-performance DNS stub resolver designed for bulk lookups and subdomain enumeration at massive scale.

The tool addresses the challenge of resolving millions or billions of domain names efficiently. It works as a DNS stub resolver that can process over 350,000 names per second using publicly available resolvers without special configuration. The resolver accepts a list of domain names and a list of DNS resolvers, then performs lookups in parallel, outputting results in text format that includes the resolver IP address for filtering purposes.

MassDNS suits security researchers and reconnaissance teams performing subdomain enumeration and infrastructure mapping. It is particularly valuable when you need to resolve enormous volumes of domains quickly. The tool includes helper scripts for common reconnaissance tasks: a Python script for PTR record resolution that avoids sudden load spikes by randomizing query order, a subdomain brute-forcing script similar to subbrute, and a certificate transparency log scraper. The custom DNS implementation is malloc-free and currently supports only the most common record types. Users should be aware that the included resolver list is outdated with many dysfunctional entries, and that using the tool can generate significant load on resolvers and potentially trigger abuse complaints from ISPs.

The project shows minimal ongoing development activity with infrequent commits and limited recent updates to core functionality. The resolver list included in the repository is acknowledged as outdated and no longer actively maintained. The custom DNS implementation remains incomplete, supporting only common record types with a note that contributions are welcome to expand this coverage. Documentation is provided through a man page rather than extensive README examples.