Sign inSign up

khanamaan/domainspyder

By khanamaan

•Updated 5 days ago

Domain intelligence CLI: subdomains, DNS, ports, tech detection and WHOIS

Image
Networking
Security
Web servers
0

245

khanamaan/domainspyder repository overview

DomainSpyder

Domain intelligence from one CLI: subdomain enumeration, DNS analysis, port scanning, technology detection and WHOIS, with JSON and HTML reports.

This is the official image of DomainSpyder⁠, also available on PyPI⁠. It needs no local Python install.

⚠️ Only scan domains and hosts you own or are authorised to test. See the disclaimer⁠.

⁠Quick start

docker run --rm -it khanamaan/domainspyder dns example.com
docker run --rm -it khanamaan/domainspyder subdomains example.com --alive
docker run --rm -it khanamaan/domainspyder info example.com

Run it with no arguments to see the help, or add --help after any command.

⁠Commands

CommandWhat it does
subdomainsPassive enumeration from 5 public sources plus multithreaded DNS brute force
dnsA, AAAA, MX, NS, TXT and CNAME records, SPF/DMARC analysis, a 0-10 security score
portsConcurrent TCP connect scan with service identification and banner grabbing
techWeb technology fingerprinting with confidence scores and versions
infoWHOIS, RDAP, SSL certificate and DNS SOA data merged into one view

Full options and example output are in the README⁠.

⁠Saving reports and using wordlists

The container's working directory is /data. Mount a host directory there, and relative paths for --output, --save and --wordlist resolve inside it:

# Write an HTML report to the current directory
docker run --rm -it -v "$PWD:/data" khanamaan/domainspyder info example.com --output report.html

# Use a wordlist from the current directory
docker run --rm -it -v "$PWD:/data" khanamaan/domainspyder subdomains example.com --brute-only --wordlist words.txt

On Linux, add --user "$(id -u):$(id -g)" so the container can write to the mounted directory and the files it creates are owned by you.

To use it like a locally installed command, add an alias to your shell profile:

alias domainspyder='docker run --rm -it -v "$PWD:/data" khanamaan/domainspyder'
domainspyder dns example.com

⁠Scanning your own machine

Inside the container, localhost is the container itself. To scan services on the host, target host.docker.internal on Docker Desktop, or add --network host on Linux.

⁠Tags

TagPoints to
latestThe newest release
X.Y.ZAn exact release, e.g. 1.0.2; never changes
X.YThe newest patch release of that minor version, e.g. 1.0
XThe newest release of that major version, e.g. 1

The same image and tags are mirrored to GitHub Container Registry as ghcr.io/khanamaan55/domainspyder.

Pin an exact version for repeatable results. Release notes are in the changelog⁠.

⁠Image details

  • Platforms: linux/amd64 and linux/arm64
  • Base: python:3.13-slim
  • User: runs as an unprivileged user (UID 1000), not root
  • Entrypoint: domainspyder, so arguments go straight to the CLI
  • Supply chain: releases are built from the tagged source by GitHub Actions⁠, with provenance and SBOM attestations
  • Source: Dockerfile⁠

⁠Support

Report bugs and request features on GitHub Issues⁠.

Released under the MIT License⁠. Created by Amaan Khan⁠.

Tag summary

Content type

Image

Digest

sha256:b0dda5df7…

Size

51.7 MB

Last updated

5 days ago

docker pull khanamaan/domainspyder