Cybersecurity Updates & Tools

DNSDmpstr: An Unofficial API and Client for DNSDumpster and HackerTarget

DNSDmpstr is an unofficial Python-based API and command-line client designed to gather domain and network information from services such as DNSDumpster and HackerTarget IP Tools.

DNSDumpster is a domain-research service that can help identify hosts associated with a domain. During an authorized security assessment, this type of reconnaissance helps security teams understand their externally visible infrastructure, review DNS records, and identify systems that may need further investigation.

DNSDmpstr provides a programmatic way to access several information-gathering functions, including host searches, DNS lookups, reverse DNS lookups, page-link extraction, and HTTP-header retrieval. Its results depend on the underlying services, their availability, and the version of the project being used.

Also Read: Metaforge: An OSINT Metadata Analysis Tool That Filters Tags and Creates Reports

Features of DNSDmpstr

  • Host search: Retrieves host-related information for a specified domain.
  • DNS lookup: Requests DNS information associated with a target.
  • Reverse DNS lookup: Supports reverse DNS queries using an IP address, IP range, or domain name, according to the original command-line help.
  • DNS dump: Provides a traditional DNS-dump output format.
  • Page-link extraction: Collects links from a specified URL.
  • HTTP-header retrieval: Retrieves HTTP response-header information from a URL.
  • Combined collection: Uses the --all option to request all information supported by the tool.
  • Python integration: Exposes functions that can be called from Python code.

These capabilities can support asset discovery and passive reconnaissance. Results should be verified against authoritative DNS records and other reliable sources before being used to make security decisions.

Installation

DNSDmpstr’s original installation instructions use Git to download the source code and pip to install its Python dependencies.

git clone https://github.com/zeropwn/dnsdmpstr
cd dnsdmpstr
pip3 install -r requirements.txt
chmod +x ddump.py

Repository: DNSDmpstr on GitHub

Compatibility note: These are the project’s historical setup commands. Before installing dependencies, review the repository and its requirements file. If the project does not support your current Python environment, consider using an isolated virtual environment rather than changing system-wide Python packages.

Using DNSDmpstr From the Command Line

DNSDmpstr can be run as a command-line utility. The -u option specifies the target domain, while --all requests all information exposed by the tool.

For example, during an authorized assessment of a domain you are permitted to investigate:

target="example.com"
python3 ddump.py -u "$target" --all

Replace example.com with a domain you own or have explicit permission to assess. The amount and type of returned information depend on the supported functions and the responses from the upstream services.

Command-Line Options

The original command-line help describes the following arguments:

usage: ddump.py [-h] [-u U] [-a] [-r] [-d] [-dd] [--links] [--headers] [--all]

optional arguments:
  -h, --help  show this help message and exit
  -u U        target domain
  -a          host search (DNS A record lookup)
  -r          reverse DNS lookup (accepts IP, IP range or domain name)
  -d          DNS lookup
  -dd         classical DNS dump format
  --links     grab page links from URL
  --headers   grab HTTP headers from URL
  --all       grab all information available

Understanding the Options

  • -h: Displays the available command-line arguments.
  • -u: Specifies the domain to investigate.
  • -a: Requests the host-search function described in the original help text.
  • -r: Runs the reverse DNS function.
  • -d: Requests DNS lookup information.
  • -dd: Uses the traditional DNS-dump format.
  • --links: Retrieves links from a supplied URL.
  • --headers: Retrieves HTTP headers from a supplied URL.
  • --all: Requests all information available through the tool.

Option names and behavior are based on the original project documentation. Run python3 ddump.py --help in your installed copy to confirm the arguments supported by that version.

Using DNSDmpstr as a Python Library

In addition to command-line use, the original project describes a Python interface for accessing its data-collection functions. The following example illustrates the documented method names. It assumes the installed version exposes the same interface and that the required imports and initialization are configured according to the project’s source code.

import json
import dnsdmpstr

target = "example.com"

dnsdump = dnsdmpstr()

print(json.dumps(dnsdump.dump(target), indent=1))
print(dnsdump.hostsearch(target))
print(dnsdump.reversedns(target))
print(dnsdump.dnslookup(target))
print(dnsdump.pagelinks(target))
print(dnsdump.httpheaders(target))

The example calls the following methods:

  • dump(target): Requests the combined dump result.
  • hostsearch(target): Retrieves host-search results.
  • reversedns(target): Requests reverse DNS information.
  • dnslookup(target): Retrieves DNS lookup results.
  • pagelinks(target): Collects links from the supplied target.
  • httpheaders(target): Retrieves HTTP-header information.

The json.dumps() call formats the combined result for easier reading when the returned data is JSON-serializable. If the installed version uses a different import pattern or constructor, consult the repository’s current source code and examples.

Practical Uses in Security Assessments

DNSDmpstr can be useful during the initial information-gathering stage of an authorized security review.

  • External asset inventory: Identify hostnames associated with an organization and compare them with an approved asset list.
  • DNS review: Examine returned DNS information for unexpected or outdated records.
  • Web-server review: Inspect HTTP headers for configuration details that warrant further verification.
  • Link discovery: Gather links from authorized web pages to support documentation and content reviews.
  • Automation: Integrate the library’s functions into a Python workflow, subject to the project’s compatibility and service limitations.

DNS records and third-party reconnaissance results can be incomplete, stale, or ambiguous. Confirm important findings with authoritative sources and the organization’s own inventory before reporting an asset as exposed or vulnerable.

Limitations and Responsible Use

  • DNSDmpstr is an unofficial client, so it is not guaranteed to be supported by DNSDumpster or HackerTarget.
  • Changes to upstream services, rate limits, response formats, or access policies may break individual features.
  • Returned hostnames, IP addresses, links, and headers do not by themselves establish that a system is vulnerable.
  • Use the tool only for domains and systems you own or are authorized to assess.
  • Review the project’s license and source code before installing or integrating it into a production workflow.

Download DNSDmpstr

Visit the project’s GitHub repository for the source code and any available documentation:

Download DNSDmpstr from GitHub

DNSDmpstr offers a compact way to access several domain-reconnaissance functions from Python or the command line. For reliable results, verify its compatibility with current upstream services and treat collected information as leads for further authorized investigation rather than definitive security findings.