CLI Reference

CLI Reference

Complete command-line interface reference for SubdomainX.

Basic Usage

Single domain:

subdomainx <domain> [OPTIONS]

Multiple domains:

subdomainx --wildcard <domains_file> [OPTIONS]

Required: You must provide either a single domain as a positional argument or a file containing target domains using the --wildcard flag.

Important: Flags must be placed before the domain argument. For example:

subdomainx --subfinder --httpx example.com  # Correct
subdomainx example.com --subfinder --httpx  # Incorrect

Command Options

Required Options

OptionDescription
<domain>Target domain for single domain scan
--wildcard FILEPath to file containing target domains (one per line)

Tool Selection details

Use specific tools, otherwise all available enumeration tools will be used by default (API tools and scanners are disabled by default).

Enumeration Tools

OptionDescription
--subfinderUse subfinder tool
--amassUse amass tool
--findomainUse findomain tool
--assetfinderUse assetfinder tool
--sublist3rUse sublist3r tool
--knockpyUse knockpy tool
--dnsreconUse dnsrecon tool
--fierceUse fierce tool
--massdnsUse massdns tool
--altdnsUse altdns tool
--waybackurlsUse waybackurls tool
--linkheaderUse Link Header enumeration

API Tools details

OptionDescription
--securitytrailsUse SecurityTrails API
--virustotalUse VirusTotal API
--censysUse Censys API
--crtshUse crt.sh Certificate Transparency API
--urlscanUse URLScan.io API
--threatcrowdUse ThreatCrowd API
--hackertargetUse HackerTarget API

Note: If no specific tools are specified, SubdomainX will use all available enumeration tools by default. API tools and scanners must be explicitly enabled.

Scanning Tools details

OptionDescription
--httpxUse httpx for HTTP scanning (discovers web services, extracts titles, status codes, and technologies)
--smapUse smap for port scanning (identifies open ports and services on discovered hosts)

Filter Options

Filter results based on specific criteria:

OptionDefaultDescriptionExample
--status-codesAllFilter by HTTP status codes (comma-separated)--status-codes 200,301,302
--portsAllFilter by ports (comma-separated)--ports 80,443,8080

Note: Filter options work with HTTP scanning (--httpx) and port scanning (--smap) results. Default values include all common HTTP status codes (100-511) and common ports (21,22,23,25,53,80,110,111,135,139,143,443,993,995,1723,3306,3389,5900,8080,8443).

Output Options

OptionDefaultDescription
--name NAMEscanUnique name for output files
--format FORMATjsonOutput format: json, txt, html
--output DIRoutputOutput directory for generated files

Performance Options

OptionDefaultDescription
--threads N10Number of concurrent threads
--retries N3Number of retry attempts
--timeout N30Timeout in seconds
--rate-limit N100Rate limit per second
--wordlist FILE""Custom wordlist file for brute-forcing
--max-http-targets N1000Maximum subdomains to scan with httpx
--resume SCAN_ID""Resume scan from checkpoint (scan ID)
--list-checkpointsfalseList available checkpoints

Utility Options

OptionDescription
--helpShow help message
--versionShow version information
--check-toolsCheck availability of enumeration tools
--install-toolsShow installation instructions for missing tools
--config FILEUse custom configuration file
--verboseEnable verbose output

Examples

Basic Scan

Single domain:

subdomainx example.com

Multiple domains:

subdomainx --wildcard domains.txt

Specific Tools

Single domain:

subdomainx --amass --subfinder --waybackurls example.com

Multiple domains:

subdomainx --wildcard domains.txt --amass --subfinder --waybackurls

Link Header Discovery

Single domain:

subdomainx --linkheader example.com

Multiple domains:

subdomainx --wildcard domains.txt --linkheader

API Tools

Single domain:

subdomainx --securitytrails --virustotal --censys --crtsh --urlscan --threatcrowd --hackertarget example.com

Multiple domains:

subdomainx --wildcard domains.txt --securitytrails --virustotal --censys --crtsh --urlscan --threatcrowd --hackertarget

Custom Wordlist

Single domain:

subdomainx --wordlist /path/to/wordlist.txt example.com

Multiple domains:

subdomainx --wildcard domains.txt --wordlist /path/to/wordlist.txt

Performance Optimization

Limit HTTP scanning for large subdomain lists:

subdomainx --subfinder --httpx --max-http-targets 500 example.com

High-performance scan with custom limits:

subdomainx --subfinder --httpx --max-http-targets 200 --threads 20 --timeout 60 example.com

Progress Monitoring

Enable verbose mode for resource monitoring:

subdomainx --verbose --subfinder --amass example.com

Resume Functionality

List available checkpoints:

subdomainx --list-checkpoints

Resume interrupted scan:

subdomainx --resume my_scan

Resume with additional scanning:

subdomainx --resume my_scan --httpx --smap

Multiple domains:

subdomainx --wildcard domains.txt --securitytrails --virustotal --censys

Mixed Approach

Single domain:

subdomainx --subfinder --securitytrails --linkheader example.com

Multiple domains:

subdomainx --wildcard domains.txt --amass --virustotal --censys --linkheader

With Filters

Single domain:

subdomainx --httpx --smap --status-codes 200,301,302 --ports 80,443,8080 example.com

Multiple domains:

subdomainx --wildcard domains.txt --httpx --smap --status-codes 200,301,302 --ports 80,443,8080

HTML Report

Single domain:

subdomainx --format html --name my_scan example.com

Multiple domains:

subdomainx --wildcard domains.txt --format html --name my_scan

High Performance

Single domain:

subdomainx --threads 20 --timeout 60 example.com

Multiple domains:

subdomainx --wildcard domains.txt --threads 20 --timeout 60

Tool Management

Check Tools

Check which tools are available and get installation help:

subdomainx --check-tools

Install Help

Get detailed installation instructions for missing tools:

subdomainx --install-tools
Made with ❤️ by ZeeshanStar us