Domain Detective

API Reference

Class

SubdomainEnumeration

Namespace DomainDetective
Assembly DomainDetective

Enumerates subdomains using dictionary brute force and passive sources.

Inheritance

  • Object
  • SubdomainEnumeration

Constructors

Methods

public async Task Enumerate(String domain, InternalLogger logger, CancellationToken ct = null) #
Returns: Task

Performs enumeration for domain.

Parameters

domain System.String requiredposition: 0
logger DomainDetective.InternalLogger requiredposition: 1
ct System.Threading.CancellationToken = null optionalposition: 2

Properties

public DnsConfiguration DnsConfiguration { get; set; } #

DNS configuration for queries.

public List<String> Dictionary { get; } #

Subdomain wordlist used for brute force.

public Func<String, DnsRecordType, Task<DnsAnswer[]>> QueryDnsOverride { get; set; } #

Override DNS query logic for testing.

public Func<String, CancellationToken, Task<IEnumerable<String>>> PassiveLookupOverride { get; set; } #

Override passive enumeration logic for testing.

PassiveHttpGetOverride #

Override passive HTTP fetch logic for testing.

public String CrtShUrlTemplate { get; set; } #

URL template for crt.sh lookups.

public String CertSpotterUrlTemplate { get; set; } #

Fallback URL template for Cert Spotter lookups.

public Boolean UseCertSpotterFallback { get; set; } #

When true (default), tries Cert Spotter if crt.sh fails.

public TimeSpan PassiveCtRequestTimeout { get; set; } #

Per-request timeout for passive/public CT HTTP calls.

public Int32 PassiveCtRetryCount { get; set; } #

Maximum retry count for transient passive/public CT HTTP failures.

public TimeSpan PassiveCtRetryBaseDelay { get; set; } #

Base delay between passive/public CT retry attempts.

public TimeSpan PassiveCtRetryMaxDelay { get; set; } #

Maximum delay between passive/public CT retry attempts.

public TimeSpan PassiveCtSourceCooldown { get; set; } #

Cooldown applied to passive/public CT sources after transient failures or rate limits.

public TimeSpan PassiveCtCrtShMinimumSpacing { get; set; } #

Minimum spacing between public crt.sh requests when passive/public CT fallback is active.

public TimeSpan PassiveCtCertSpotterMinimumSpacing { get; set; } #

Minimum spacing between Cert Spotter requests when passive/public CT fallback is active.

public Int32 PassiveCtCrtShMaximumRequestsPerRun { get; set; } #

Maximum number of public crt.sh requests issued during one passive enumeration run.

public Int32 PassiveCtCertSpotterMaximumRequestsPerRun { get; set; } #

Maximum number of Cert Spotter requests issued during one passive enumeration run.

public List<String> BruteForceResults { get; set; } #

List of subdomains discovered via brute force.

public List<String> PassiveResults { get; set; } #

List of subdomains discovered via passive sources.

{{ include "footer" }}