API Reference
DomainHealthCheck
Provides helper methods mapping health check types to results.
Inheritance
- Settings
- DomainHealthCheck
Usage
This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.
Returned or exposed by
- Method DomainHealthCheck.FilterAnalyses
- Property DomainHealthCheckRun.HealthCheck
- Property DomainOverallInfo.Raw
Accepted by parameters
- Method DesiredStateEvaluator.ApplyAssessmentPolicy
- Method DesiredStateEvaluator.Evaluate
- Extension method DomainHealthCheck.ToPortfolioSnapshot
- Method DomainHealthCheck.VerifyBatchAsync
- Constructor DomainHealthCheckRun.DomainHealthCheckRun
- Method DomainPortfolioSnapshotBuilder.Build
- Method DomainPortfolioSnapshotBuilder.ToPortfolioSnapshot
- Constructor MailDomainClassifier.MailDomainClassifier
- Method Converters.Convert
- Method Converters.ConvertDomainOverview
- Method Converters.ConvertMicrosoft365Overview
Constructors
public DomainHealthCheck(DnsEndpoint dnsEndpoint = System, InternalLogger internalLogger = null) #Initializes a new instance of the DomainHealthCheck class.
Parameters
- dnsEndpoint DnsClientX.DnsEndpoint = System
- DNS server to use for queries. Defaults to the system DNS endpoint.
- internalLogger DomainDetective.InternalLogger = null
- Optional logger for diagnostic output.
Methods
public DomainSummary BuildSummary() #DomainSummaryCreates a high level summary of key analyses.
Returns
A populated DomainSummary.
public async Task CheckBIMI(String bimiRecord, Boolean skipIndicatorDownload = false, CancellationToken cancellationToken = null) #TaskAnalyzes a raw BIMI record.
Parameters
- bimiRecord System.String
- BIMI record text.
- skipIndicatorDownload System.Boolean = false
- When true, do not download the SVG indicator.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckCAA(List<String> caaRecords, CancellationToken cancellationToken = null) #TaskAnalyzes a single CAA record.
Parameters
- caaRecord System.String
- CAA record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
CheckCAA(System.Collections.Generic.List{System.String} caaRecords, System.Threading.CancellationToken cancellationToken) #Analyzes multiple CAA records.
Parameters
- caaRecords System.Collections.Generic.List{System.String}
- Collection of CAA record texts.
- cancellationToken System.Threading.CancellationToken
- Token to cancel the operation.
public async Task CheckContactInfo(String contactRecord, CancellationToken cancellationToken = null) #TaskAnalyzes a raw contact TXT record.
Parameters
- contactRecord System.String
- Contact record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckDANE(IEnumerable<String> daneRecords, CancellationToken cancellationToken = null) #TaskAnalyzes a single DANE record.
Parameters
- daneRecord System.String
- TLSA record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
CheckDANE(System.Collections.Generic.IEnumerable{System.String} daneRecords, System.Threading.CancellationToken cancellationToken) #Analyzes multiple DANE records.
Parameters
- daneRecords System.Collections.Generic.IEnumerable{System.String}
- Collection of TLSA record texts.
- cancellationToken System.Threading.CancellationToken
- Token to cancel the operation.
public async Task CheckDKIM(String dkimRecord, String selector = "default", CancellationToken cancellationToken = null) #TaskAnalyzes a raw DKIM record.
Parameters
- dkimRecord System.String
- DKIM record text.
- selector System.String = "default"
- Selector associated with the record.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckDMARC(String dmarcRecord, CancellationToken cancellationToken = null) #TaskAnalyzes a raw DMARC record.
Parameters
- dmarcRecord System.String
- DMARC record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckDNSBL(String[] nameOrIpAddresses, CancellationToken cancellationToken = null) #TaskChecks a single input (IP address or domain) against configured DNS block lists.
Parameters
- nameOrIpAddress System.String
- IP address or domain to query.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
CheckDNSBL(System.String[] nameOrIpAddresses, System.Threading.CancellationToken cancellationToken) #Checks multiple inputs (IP addresses and/or domains) against DNS block lists.
Parameters
- nameOrIpAddresses System.String[]
- Inputs to query.
- cancellationToken System.Threading.CancellationToken
- Token to cancel the operation.
public Void CheckDnsTunneling(String domainName, CancellationToken ct = null) #VoidAnalyzes DNS logs for tunneling patterns.
Parameters
- domainName System.String
- ct System.Threading.CancellationToken = null
public async Task CheckDnsTunnelingAsync(String domainName, CancellationToken ct = null) #TaskExecutes the check dns tunneling async operation.
Parameters
- domainName System.String
- ct System.Threading.CancellationToken = null
public async Task CheckImapTlsHost(String host, Int32 port = 143, CancellationToken cancellationToken = null) #TaskChecks a host for IMAP TLS capabilities.
Parameters
- host System.String
- port System.Int32 = 143
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckIPNeighbors(String domainName, CancellationToken cancellationToken = null) #TaskQueries neighbors sharing the same IP as domainName.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckMailIPNeighbors(String domainName, CancellationToken cancellationToken = null) #TaskQueries neighbors for IPs used by MX hosts of domainName.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckMailLatency(String host, Int32 port = 25, CancellationToken cancellationToken = null) #TaskMeasures mail server connection and banner latency.
Parameters
- host System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public MessageHeaderAnalysis CheckMessageHeaders(String rawHeaders, CancellationToken ct = null) #MessageHeaderAnalysisParses raw message headers.
Parameters
- rawHeaders System.String
- Unparsed header text.
- ct System.Threading.CancellationToken = null
- Token to cancel the operation.
Returns
Populated MessageHeaderAnalysis instance.
public MessageHeaderAnalysis CheckMessageHeaders(String rawHeaders, IEnumerable<String> expectedMxHosts, CancellationToken ct = null) #MessageHeaderAnalysisParses raw message headers and compares the observed route with expected public MX hosts.
Parameters
- rawHeaders System.String
- Unparsed header text.
- expectedMxHosts System.Collections.Generic.IEnumerable{System.String}
- Public MX hosts expected to process inbound mail.
- ct System.Threading.CancellationToken = null
- Token to cancel the operation.
Returns
Populated MessageHeaderAnalysis instance.
public async Task CheckMX(String mxRecord, CancellationToken cancellationToken = null) #TaskAnalyzes a raw MX record.
Parameters
- mxRecord System.String
- MX record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckNS(List<String> nsRecords, CancellationToken cancellationToken = null) #TaskAnalyzes a single NS record.
Parameters
- nsRecord System.String
- NS record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
CheckNS(System.Collections.Generic.List{System.String} nsRecords, System.Threading.CancellationToken cancellationToken) #Analyzes multiple NS records.
Parameters
- nsRecords System.Collections.Generic.List{System.String}
- Collection of NS record texts.
- cancellationToken System.Threading.CancellationToken
- Token to cancel the operation.
public async Task CheckOpenRelayHost(String host, Int32 port = 25, CancellationToken cancellationToken = null) #TaskTests an SMTP server for open relay configuration.
Parameters
- host System.String
- Target host name.
- port System.Int32 = 25
- Port to connect to. Must be between 1 and 65535.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckOpenResolverHost(String host, Int32 port = 53, CancellationToken cancellationToken = null) #TaskChecks if a DNS server allows recursive queries.
Parameters
- host System.String
- Target server host name or IP.
- port System.Int32 = 53
- DNS port number. Must be between 1 and 65535.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckPop3TlsHost(String host, Int32 port = 110, CancellationToken cancellationToken = null) #TaskChecks a host for POP3 TLS capabilities.
Parameters
- host System.String
- port System.Int32 = 110
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckPortAvailability(String host, IEnumerable<Int32> ports = null, CancellationToken cancellationToken = null) #TaskTests connectivity to common service ports on a host.
Parameters
- host System.String
- ports System.Collections.Generic.IEnumerable{System.Int32} = null
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckSMIMEA(String smimeaRecord, CancellationToken cancellationToken = null) #TaskAnalyzes a raw SMIMEA record.
Parameters
- smimeaRecord System.String
- SMIMEA record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckSmtpBannerHost(String host, Int32 port = 25, CancellationToken cancellationToken = null) #TaskRetrieves the SMTP banner from a host.
Parameters
- host System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckSmtpTlsHost(String host, Int32 port = 25, CancellationToken cancellationToken = null) #TaskChecks a host for SMTP TLS capabilities.
Parameters
- host System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckSnmpHost(String host, Int32 port = 161, CancellationToken cancellationToken = null) #TaskChecks a host for SNMP responses.
Parameters
- host System.String
- port System.Int32 = 161
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckSOA(String soaRecord, CancellationToken cancellationToken = null) #TaskAnalyzes a raw SOA record.
Parameters
- soaRecord System.String
- SOA record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckSPF(String spfRecord, CancellationToken cancellationToken = null) #TaskAnalyzes a raw SPF record.
Parameters
- spfRecord System.String
- SPF record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckStartTlsHost(String host, Int32 port = 25, CancellationToken cancellationToken = null) #TaskChecks a host for STARTTLS support.
Parameters
- host System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public async Task CheckTLSRPT(String tlsRptRecord, CancellationToken cancellationToken = null) #TaskAnalyzes a raw TLSRPT record.
Parameters
- tlsRptRecord System.String
- TLSRPT record text.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task CheckWHOIS(String domain, CancellationToken cancellationToken = null) #TaskQueries WHOIS information and IANA RDAP for a domain.
Parameters
- domain System.String
- cancellationToken System.Threading.CancellationToken = null
public Void ConfigureExecution(HealthCheckExecutionOptions executionOptions = null) #VoidApplies execution options to resolver concurrency and logging behavior.
Parameters
- executionOptions DomainDetective.HealthCheckExecutionOptions = null
- Optional settings to apply for this run.
public DomainHealthCheck FilterAnalyses(IEnumerable<HealthCheckType> healthCheckTypes) #DomainHealthCheckCreates a copy with only the specified analyses included.
Parameters
- healthCheckTypes System.Collections.Generic.IEnumerable{DomainDetective.HealthCheckType}
- Health checks that should remain in the returned .
Returns
A clone of this object with non-selected analyses removed.
public IEnumerable<Assessment> GetAllAssessments() #IEnumerable<Assessment>Aggregated assessments collected from all analyses that expose them.
GetAnalysisFor(DomainDetective.HealthCheckType arg1) #Gets the analysis result instance for a single health check type.
Parameters
- arg1 DomainDetective.HealthCheckType
public IReadOnlyDictionary<HealthCheckType, Object> GetAnalysisMap() #IReadOnlyDictionary<HealthCheckType, Object>Creates a dictionary mapping each HealthCheckType to the corresponding analysis result instance.
Returns
Read-only dictionary of health check results.
public IEnumerable<IHasAssessments> GetAssessmentProviders() #IEnumerable<IHasAssessments>Gets assessment providers.
public static CheckDescription GetCheckDescription(HealthCheckType type) #CheckDescriptionGets the description for a health check.
Parameters
- type DomainDetective.HealthCheckType
- Health check type.
Returns
Description instance or null.
public IReadOnlyList<RecommendationAdvice> GetRecommendations() #IReadOnlyList<RecommendationAdvice>Returns unique recommendations for all current assessments.
public IReadOnlyList<RecommendationView> GetRecommendationViews() #IReadOnlyList<RecommendationView>Returns grouped recommendation views (by code) for all current assessments.
public async Task QueryRDAP(String domain, CancellationToken cancellationToken = null) #TaskQueries RDAP information for a domain.
Parameters
- domain System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task RefreshPublicSuffixListAsync(String url = "https://raw.githubusercontent.com/EvotecIT/DomainDetective/refs/heads/master/Data/public_suffix_list.dat", Boolean force = false) #TaskDownloads the latest public suffix list and refreshes cached data. Cached data newer than seven days is reused unless force is true.
Parameters
- url System.String = "https://raw.githubusercontent.com/EvotecIT/DomainDetective/refs/heads/master/Data/public_suffix_list.dat"
- Optional URL to fetch the list from.
- force System.Boolean = false
- Ignore the cache and download fresh data.
public async Task ScanPorts(String host, IEnumerable<Int32> ports = null, PortScanProfile[] profiles = null, CancellationToken cancellationToken = null, Boolean showProgress = true) #TaskScans a host for open TCP and UDP ports.
Parameters
- host System.String
- ports System.Collections.Generic.IEnumerable{System.Int32} = null
- profiles DomainDetective.PortScanProfileDefinition.PortScanProfile[] = null
- cancellationToken System.Threading.CancellationToken = null
- showProgress System.Boolean = true
public static Boolean SupportsDomainVerification(HealthCheckType healthCheckType) #BooleanDetermines whether a health check can run from a domain or host input alone.
Parameters
- healthCheckType DomainDetective.HealthCheckType
- Health check to evaluate.
Returns
true when [[cref:DomainDetective.DomainHealthCheck.Verify(System.String,DomainDetective.HealthCheckType[],System.String[],DomainDetective.ServiceType[],System.Int32[],DomainDetective.PortScanProfileDefinition.PortScanProfile[],System.Threading.CancellationToken,DomainDetective.HealthCheckExecutionOptions,System.Boolean)]] can execute the check directly.
public Task TestNtpServer(NtpServer server, Int32 port = 123, CancellationToken cancellationToken = null) #TaskQueries an NTP server for clock information.
Parameters
- host System.String
- Target server host name or IP.
- port System.Int32 = 123
- NTP port number.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
TestNtpServer(DomainDetective.NtpServer server, System.Int32 port, System.Threading.CancellationToken cancellationToken) #Queries a predefined NTP server.
Parameters
- server DomainDetective.NtpServer
- Built-in server enumeration.
- port System.Int32
- NTP port number.
- cancellationToken System.Threading.CancellationToken
- Token to cancel the operation.
public String ToJson(JsonSerializerOptions options = null) #StringSerializes this instance to a JSON string.
Parameters
- options System.Text.Json.JsonSerializerOptions = null
- Optional serializer options. If not provided, is enabled.
Returns
A JSON representation of the current .
public async Task Verify(String domainName, HealthCheckType[] healthCheckTypes = null, String[] dkimSelectors = null, ServiceType[] daneServiceType = null, Int32[] danePorts = null, PortScanProfile[] portScanProfiles = null, CancellationToken cancellationToken = null, HealthCheckExecutionOptions executionOptions = null, Boolean useDefaultChecksWhenEmpty = true) #TaskRuns the requested health checks against a domain.
Parameters
- domainName System.String
- Domain to validate.
- healthCheckTypes DomainDetective.HealthCheckType[] = null
- Health checks to execute or null for defaults.
- dkimSelectors System.String[] = null
- DKIM selectors to use when verifying DKIM.
- daneServiceType DomainDetective.ServiceType[] = null
- DANE service types to inspect. When null, SMTP and HTTPS (port 443) are queried.
- danePorts System.Int32[] = null
- Custom ports to check for DANE. Overrides daneServiceType when provided.
- portScanProfiles DomainDetective.PortScanProfileDefinition.PortScanProfile[] = null
- Optional port scan profiles to use.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
- executionOptions DomainDetective.HealthCheckExecutionOptions = null
- Optional execution settings for this verification run.
- useDefaultChecksWhenEmpty System.Boolean = true
- When false, an empty healthCheckTypes array results in no checks being executed.
public async Task VerifyAgentReadinessAsync(String domainName, CancellationToken cancellationToken = null, AgentReadinessOptions options = null) #TaskAssesses machine-readable discovery resources and AI-agent readiness for the specified domain or URL.
Parameters
- domainName System.String
- Domain, host, or HTTP/HTTPS URL to analyze.
- cancellationToken System.Threading.CancellationToken = null
- Token used to cancel the operation.
- options DomainDetective.AgentReadinessOptions = null
- Optional agent-readiness analysis options.
public async Task VerifyApexAddresses(String domainName, CancellationToken cancellationToken = null) #TaskQueries apex A/AAAA for a domain and performs analysis.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public ARCAnalysis VerifyARC(String rawHeaders, CancellationToken ct = null) #ARCAnalysisValidates ARC headers contained in rawHeaders.
Parameters
- rawHeaders System.String
- Raw message headers.
- ct System.Threading.CancellationToken = null
- Token to cancel the operation.
Returns
Populated ARCAnalysis instance.
public async Task<ARCAnalysis> VerifyARCAsync(String rawHeaders, CancellationToken ct = null) #Task<ARCAnalysis>Executes the verify arc async operation.
Parameters
- rawHeaders System.String
- ct System.Threading.CancellationToken = null
public async Task VerifyAutodiscover(String domainName, CancellationToken cancellationToken = null) #TaskVerifies Autodiscover for a domain using DNS hints and an Outlook-like HTTP flow.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public static async Task<IReadOnlyList<DomainHealthCheckRun>> VerifyBatchAsync(IEnumerable<String> domainNames, HealthCheckType[] healthCheckTypes = null, String[] dkimSelectors = null, ServiceType[] daneServiceType = null, Int32[] danePorts = null, PortScanProfile[] portScanProfiles = null, HealthCheckExecutionOptions executionOptions = null, Func<String, DomainHealthCheck> healthCheckFactory = null, CancellationToken cancellationToken = null) #Task<IReadOnlyList<DomainHealthCheckRun>>Runs domain health checks for multiple domains with optional parallelism.
Parameters
- domainNames System.Collections.Generic.IEnumerable{System.String}
- Domains to process.
- healthCheckTypes DomainDetective.HealthCheckType[] = null
- Health checks to execute or null for defaults.
- dkimSelectors System.String[] = null
- DKIM selectors to use when verifying DKIM.
- daneServiceType DomainDetective.ServiceType[] = null
- DANE service types to inspect. When null, SMTP and HTTPS (port 443) are queried.
- danePorts System.Int32[] = null
- Custom ports to check for DANE. Overrides daneServiceType when provided.
- portScanProfiles DomainDetective.PortScanProfileDefinition.PortScanProfile[] = null
- Optional port scan profiles to use.
- executionOptions DomainDetective.HealthCheckExecutionOptions = null
- Optional execution settings for this batch run.
- healthCheckFactory System.Func{System.String,DomainDetective.DomainHealthCheck} = null
- Factory for per-domain DomainHealthCheck instances.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyBIMI(String domainName, Boolean skipIndicatorDownload = false, CancellationToken cancellationToken = null) #TaskQueries and analyzes BIMI records for a domain.
Parameters
- domainName System.String
- Domain to verify.
- skipIndicatorDownload System.Boolean = false
- When true, do not download the SVG indicator.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyCAA(String domainName, CancellationToken cancellationToken = null) #TaskQueries CAA records for a domain and performs analysis.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyContactInfo(String domainName, CancellationToken cancellationToken = null) #TaskQueries contact TXT records for a domain.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyCtTimelineAsync(String domainName, CancellationToken cancellationToken = null) #TaskBuilds a certificate transparency (CT) timeline for the specified domain.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyDANE(String domainName, ServiceType[] serviceTypes, CancellationToken cancellationToken = null) #TaskQueries TLSA records for specific ports on a domain. Generated names use the `_tcp` or `_udp` label depending on the protocol.
Parameters
- domainName System.String
- Domain to query.
- ports System.Int32[]
- Ports to check for DANE.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyDANE(ServiceDefinition[] services, CancellationToken cancellationToken = null) #TaskQueries TLSA records for the provided service definitions. Generated names include the `_tcp` or `_udp` label as appropriate.
Parameters
- services DomainDetective.ServiceDefinition[]
- Services to query.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
VerifyDANE(System.String domainName, DomainDetective.ServiceType[] serviceTypes, System.Threading.CancellationToken cancellationToken) #Queries TLSA records based on common service types. Generated names use the `_tcp` or `_udp` label.
Parameters
- domainName System.String
- Domain to query.
- serviceTypes DomainDetective.ServiceType[]
- Services to investigate.
- cancellationToken System.Threading.CancellationToken
- Token to cancel the operation.
public async Task VerifyDanglingCname(String domainName, CancellationToken cancellationToken = null) #TaskDetects dangling CNAME records for the domain.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyDelegation(String domainName, CancellationToken cancellationToken = null) #TaskValidates delegation information against the parent zone.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyDirectoryExposure(String domainName, CancellationToken cancellationToken = null) #TaskScans common directories for public exposure.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public Task VerifyDKIM(String domainName, String[] selectors, CancellationToken cancellationToken = null) #TaskVerifies DKIM records for the specified domain.
Parameters
- domainName System.String
- Domain to inspect.
- selectors System.String[]
- Selectors to query or null to auto detect.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyDKIM(String domainName, String[] selectors, Boolean includeMissingSelectors, CancellationToken cancellationToken = null) #TaskVerifies DKIM records for the specified domain.
Parameters
- domainName System.String
- Domain to inspect.
- selectors System.String[]
- Selectors to query or null to auto detect.
- includeMissingSelectors System.Boolean
- When true, AnalysisResults will include entries for selectors that have no published DKIM record and warnings will be logged for those missing records. When false, selectors with no published DKIM record are omitted from AnalysisResults and no warnings are logged for them.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyDMARC(String domainName, CancellationToken cancellationToken = null) #TaskQueries DNS and analyzes DMARC records for a domain.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyDnsAmplification(String domainName, CancellationToken cancellationToken = null) #TaskEvaluates DNS amplification posture for authoritative name servers (recursion + EDNS + response size probes).
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyDNSBL(String domainName, CancellationToken cancellationToken = null) #TaskChecks domain MX hosts against configured DNS block lists.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyDNSBLWithMode(String domainName, DomainIpScanMode scanMode, Boolean clearExisting = true, CancellationToken cancellationToken = null) #TaskChecks domain against DNSBL lists using a specified domain IP scan mode.
Parameters
- domainName System.String
- Domain to verify.
- scanMode DomainDetective.DomainIpScanMode
- Controls which IPs to resolve and check for IP-based DNSBLs.
- clearExisting System.Boolean = true
- Whether to clear previous results prior to running.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyDnsInventoryAsync(String domainName, CancellationToken cancellationToken = null) #TaskCaptures a lightweight DNS inventory for a domain by querying common record types and recording answers (and optionally authority/additional sections).
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyDnsOverTls(String domainName, CancellationToken cancellationToken = null) #TaskDetects DNS over TLS (DoT) support for authoritative name servers (TCP/853 + TLS handshake).
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyDnsPropagationAsync(String domainName, CancellationToken cancellationToken = null) #TaskCompares DNS answers across multiple public resolvers (global visibility).
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyDNSSEC(String domainName, CancellationToken cancellationToken = null) #TaskQueries DNSSEC information for a domain.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyDnsTraceAsync(String domainName, CancellationToken cancellationToken = null) #TaskCaptures an iterative, authoritative-style DNS trace (root to answer) with a hop-by-hop log.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyEdnsSupport(String domainName, CancellationToken cancellationToken = null) #TaskTests authoritative name servers for EDNS support.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyEmailAddress(String emailAddress, EmailAddressValidationOptions options = null, CancellationToken cancellationToken = null) #TaskValidates an email address with syntax, DNS, and optional SMTP/HTTP checks.
Parameters
- emailAddress System.String
- options DomainDetective.EmailAddressValidationOptions = null
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyIdpInfo(String domain, CancellationToken cancellationToken = null) #TaskProbes OIDC discovery and GetUserRealm to collect tenant hints.
Parameters
- domain System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyIMAPTLS(String domainName, CancellationToken cancellationToken = null) #TaskChecks all MX hosts for IMAP TLS configuration.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyIpEnrichmentAsync(String domainName, CancellationToken cancellationToken = null) #TaskEnriches discovered IPs (apex, MX, NS) with reverse DNS, ASN/org and geo hints.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyMailLatency(String domainName, Int32 port = 25, CancellationToken cancellationToken = null) #TaskMeasures mail server connection and banner latency across all MX hosts.
Parameters
- domainName System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyMicrosoft365TenantAsync(String domainName, CancellationToken cancellationToken = null) #TaskBuilds a Microsoft 365 aggregate view by reusing identity, DNS inventory, subdomain, and Autodiscover analyses.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyMTASTS(String domainName, CancellationToken cancellationToken = null) #TaskVerifies MTA-STS policy for a domain.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyMTASTSBootstrap(String domainName, CancellationToken cancellationToken = null) #TaskVerifies only the MTA-STS DNS bootstrap record for a domain.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyMX(String domainName, CancellationToken cancellationToken = null) #TaskQueries MX records for a domain and performs analysis.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyNS(String domainName, CancellationToken cancellationToken = null) #TaskQueries NS records for a domain and performs analysis.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyOpenRelay(String domainName, Int32 port = 25, CancellationToken cancellationToken = null) #TaskTests MX hosts for open relay configuration.
Parameters
- domainName System.String
- Domain to verify.
- port System.Int32 = 25
- SMTP port to test.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyOpenResolver(String domainName, CancellationToken cancellationToken = null) #TaskTests name servers for open recursion.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task<PingReply> VerifyPing(String host, Int32 timeout = 4000, CancellationToken cancellationToken = null) #Task<PingReply>Sends an ICMP echo request to a host.
Parameters
- host System.String
- timeout System.Int32 = 4000
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyPlainHttp(String domainName, CancellationToken cancellationToken = null) #TaskPerforms a basic HTTP check without enforcing HTTPS.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyPlainHttp(String domainName, HttpRequestOptions requestOptions, CancellationToken cancellationToken = null) #TaskPerforms a basic HTTP check without enforcing HTTPS, with request customization options.
Parameters
- domainName System.String
- requestOptions DomainDetective.HttpRequestOptions
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyPOP3TLS(String domainName, CancellationToken cancellationToken = null) #TaskChecks all MX hosts for POP3 TLS configuration.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyRPKI(String domainName, CancellationToken cancellationToken = null) #TaskValidates RPKI origins for domain IPs.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifySecurityTxt(String domainName, CancellationToken cancellationToken = null) #TaskExecutes the verify security txt operation.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifySitemapAsync(String domainName, CancellationToken cancellationToken = null) #TaskValidates sitemap XML and sitemap-listed URLs for the specified domain or URL.
Parameters
- domainName System.String
- Domain, host, sitemap URL, or HTTP/HTTPS URL to analyze.
- cancellationToken System.Threading.CancellationToken = null
- Token used to cancel the operation.
public async Task VerifySMIMEA(String emailAddress, CancellationToken cancellationToken = null) #TaskQueries SMIMEA records for an email address.
Parameters
- emailAddress System.String
- Email address to query.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifySmtpAuth(String domainName, Int32 port = 25, CancellationToken cancellationToken = null) #TaskRetrieves SMTP AUTH capabilities from all MX hosts.
Parameters
- domainName System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifySMTPBanner(String domainName, Int32 port = 25, CancellationToken cancellationToken = null) #TaskCollects SMTP banners from all MX hosts.
Parameters
- domainName System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public Task VerifySMTPTLS(String domainName, Int32 port, CancellationToken cancellationToken = null) #TaskChecks all MX hosts for SMTP TLS configuration.
Parameters
- domainName System.String
- port System.Int32
- cancellationToken System.Threading.CancellationToken = null
public Task VerifySMTPTLS(String domainName, CancellationToken cancellationToken = null) #TaskChecks all MX hosts for SMTP TLS configuration using the default port.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifySOA(String domainName, CancellationToken cancellationToken = null) #TaskQueries SOA record for a domain and performs analysis.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifySPF(String domainName, CancellationToken cancellationToken = null) #TaskQueries DNS and analyzes SPF records for a domain.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifySTARTTLS(String domainName, Int32 port = 25, CancellationToken cancellationToken = null) #TaskChecks all MX hosts for STARTTLS support.
Parameters
- domainName System.String
- port System.Int32 = 25
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifySubdomainsAsync(String domainName, CancellationToken cancellationToken = null) #TaskDiscovers subdomains using certificate transparency (CT) and (optionally) verifies whether the discovered names still resolve in DNS.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyTakeoverCname(String domainName, CancellationToken cancellationToken = null) #TaskChecks for CNAMEs pointing to takeover prone providers.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyThreatFeed(String ipAddress, CancellationToken cancellationToken = null) #TaskQueries threat feeds for IP reputation.
Parameters
- ipAddress System.String
- IP address to check.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyThreatIntel(String domainName, CancellationToken cancellationToken = null) #TaskQueries reputation services for threat listings.
Parameters
- domainName System.String
- Domain or IP address to check.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyTLSRPT(String domainName, CancellationToken cancellationToken = null) #TaskQueries and analyzes TLSRPT records for a domain.
Parameters
- domainName System.String
- Domain to verify.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task<IReadOnlyList<TracerouteHop>> VerifyTraceroute(String host, Int32 maxHops = 30, Int32 timeout = 4000, CancellationToken cancellationToken = null) #Task<IReadOnlyList<TracerouteHop>>Performs a traceroute to the specified host.
Parameters
- host System.String
- maxHops System.Int32 = 30
- timeout System.Int32 = 4000
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyTyposquatting(String domainName, CancellationToken cancellationToken = null) #TaskGenerates typosquatting variants and checks if they resolve.
Parameters
- domainName System.String
- Domain to analyze.
- cancellationToken System.Threading.CancellationToken = null
- Token to cancel the operation.
public async Task VerifyWebsiteCertificate(String url, Int32 port = 443, CancellationToken cancellationToken = null) #TaskVerifies the certificate for a website. If no scheme is provided in url, "https://" is assumed.
Parameters
- url System.String
- port System.Int32 = 443
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyWebsiteHttps(String domainName, CancellationToken cancellationToken = null) #TaskPerforms an HTTPS security check collecting key headers and scanning for mixed content.
Parameters
- domainName System.String
- Domain or host (port optional).
- cancellationToken System.Threading.CancellationToken = null
- Cancellation token.
public async Task VerifyWebsiteHttps(String domainName, HttpRequestOptions requestOptions, Boolean captureBody = true, CancellationToken cancellationToken = null) #TaskPerforms an HTTPS security check collecting key headers and scanning for mixed content, with request customization options.
Parameters
- domainName System.String
- requestOptions DomainDetective.HttpRequestOptions
- captureBody System.Boolean = true
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyWebStaticScan(String url, CancellationToken cancellationToken = null) #TaskPerforms a static (non-browser) web scan for the specified URL using shared components.
Parameters
- url System.String
- cancellationToken System.Threading.CancellationToken = null
public async Task VerifyWildcardDns(String domainName, Int32 sampleCount = 3) #TaskQueries random subdomains to detect wildcard DNS behavior.
Parameters
- domainName System.String
- Domain to verify.
- sampleCount System.Int32 = 3
- Number of names to test.
public async Task VerifyZoneTransfer(String domainName, CancellationToken cancellationToken = null) #TaskAttempts zone transfers against authoritative name servers.
Parameters
- domainName System.String
- cancellationToken System.Threading.CancellationToken = null
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public IHttpClientFactory HttpClientFactory { get; set; } #Factory used to obtain HttpClient instances.
public Boolean IsPublicSuffix { get; set; } #Indicates whether the last verified domain is itself a public suffix.
public DkimAnalysis DKIMAnalysis { get; set; } #Gets the DKIM analysis.
Value
Results of DKIM validation.
public MXAnalysis MXAnalysis { get; set; } #Gets the MX record analysis.
Value
Details about mail exchanger configuration.
public ReverseDnsAnalysis ReverseDnsAnalysis { get; set; } #Gets the reverse DNS analysis for MX hosts.
Value
PTR lookup results for mail exchangers.
public FCrDnsAnalysis FcrDnsAnalysis { get; set; } #Gets the forward-confirmed reverse DNS analysis.
Value
Results verifying PTR hostnames resolve back to their IP.
public CAAAnalysis CAAAnalysis { get; set; } #Gets the CAA analysis.
Value
Certificate authority authorization results.
public NSAnalysis NSAnalysis { get; set; } #Gets the NS analysis.
Value
Name server configuration results.
public DANEAnalysis DaneAnalysis { get; set; } #Gets the DANE analysis.
Value
DANE records and validation output.
public Func<String, DnsRecordType, Task<DnsAnswer[]>> DaneDnsOverride { get; set; } #Optional override for DNS queries used by DANE checks.
public SMIMEAAnalysis SmimeaAnalysis { get; set; } #Gets the SMIMEA analysis.
Value
SMIMEA records and validation output.
public EmailAddressValidationAnalysis EmailAddressValidationAnalysis { get; set; } #Gets the email address validation analysis.
Value
Syntax/DNS/SMTP checks for a mailbox.
public DNSBLAnalysis DNSBLAnalysis { get; set; } #Gets the DNS block list analysis.
Value
DNSBL lookup results.
public DnsSecAnalysis DnsSecAnalysis { get; set; } #Gets the DNSSEC analysis.
Value
Information about DNSSEC chain validity.
public MTASTSAnalysis MTASTSAnalysis { get; set; } #Gets the MTA-STS analysis.
Value
SMTP MTA-STS policy results.
public CertificateAnalysis CertificateAnalysis { get; set; } #Gets the TLS certificate analysis.
Value
Results of certificate checks.
public SecurityTXTAnalysis SecurityTXTAnalysis { get; set; } #Gets the security.txt analysis.
Value
Information from discovered security.txt files.
public RobotsTxtAnalysis RobotsTxtAnalysis { get; set; } #Gets the robots.txt analysis.
Value
Information parsed from robots.txt.
public SOAAnalysis SOAAnalysis { get; set; } #Gets the SOA analysis.
Value
Start of authority record details.
public WhoisAnalysis WhoisAnalysis { get; set; } #Gets the WHOIS analysis.
Value
Parsed WHOIS information.
public RdapAnalysis RdapAnalysis { get; set; } #Gets the RDAP analysis.
Value
Registration data from RDAP.
public ZoneTransferAnalysis ZoneTransferAnalysis { get; set; } #Gets the zone transfer analysis.
Value
AXFR test results per name server.
public OpenRelayAnalysis OpenRelayAnalysis { get; set; } #Gets the open relay analysis.
Value
SMTP relay test results.
public OpenResolverAnalysis OpenResolverAnalysis { get; set; } #Gets the open resolver analysis.
Value
Recursive query test results.
public STARTTLSAnalysis StartTlsAnalysis { get; set; } #Gets the STARTTLS analysis.
Value
Information from STARTTLS negotiations.
public SMTPTLSAnalysis SmtpTlsAnalysis { get; set; } #Gets the SMTP TLS analysis.
Value
Results of SMTP TLS capability checks.
public IMAPTLSAnalysis ImapTlsAnalysis { get; set; } #Gets the IMAP TLS analysis.
Value
Results of IMAP TLS capability checks.
public POP3TLSAnalysis Pop3TlsAnalysis { get; set; } #Gets the POP3 TLS analysis.
Value
Results of POP3 TLS capability checks.
public SMTPBannerAnalysis SmtpBannerAnalysis { get; set; } #Gets the SMTP banner analysis.
Value
Initial greetings from SMTP servers.
public MailLatencyAnalysis MailLatencyAnalysis { get; set; } #Gets the mail latency analysis.
Value
Connection and banner timing results.
public SmtpAuthAnalysis SmtpAuthAnalysis { get; set; } #Gets the SMTP AUTH analysis.
Value
Advertised authentication mechanisms.
public TLSRPTAnalysis TLSRPTAnalysis { get; set; } #Gets the TLSRPT analysis.
Value
Reports about TLS failures.
public BimiAnalysis BimiAnalysis { get; set; } #Gets the BIMI analysis.
Value
Brand Indicators for Message Identification results.
public IdpInfoAnalysis IdpInfoAnalysis { get; set; } #Gets the identity provider information analysis.
Value
OIDC discovery and GetUserRealm results.
public Microsoft365TenantAnalysis Microsoft365TenantAnalysis { get; set; } #Gets the Microsoft 365 aggregate analysis.
Value
Typed Microsoft 365 tenant, service, and DNS application hints.
public ApexAddressAnalysis ApexAddressAnalysis { get; set; } #Gets the apex address (A/AAAA) analysis.
Value
Results of apex A/AAAA lookups.
public AutodiscoverAnalysis AutodiscoverAnalysis { get; set; } #Gets the Autodiscover analysis.
Value
Results of Autodiscover related checks.
public AutodiscoverHttpAnalysis AutodiscoverHttpAnalysis { get; set; } #Gets the Autodiscover HTTP analysis.
Value
Results of Autodiscover endpoint checks.
public HttpAnalysis HttpAnalysis { get; set; } #Gets the HTTP analysis.
Value
HTTP endpoint validation results.
public HPKPAnalysis HPKPAnalysis { get; set; } #Gets the HPKP analysis.
Value
Deprecated HTTP public key pinning information.
public ContactInfoAnalysis ContactInfoAnalysis { get; set; } #Gets the contact TXT analysis.
Value
Parsed contact information.
public MessageHeaderAnalysis MessageHeaderAnalysis { get; set; } #Gets the message header analysis.
Value
Details parsed from message headers.
public ARCAnalysis ArcAnalysis { get; set; } #Gets the ARC header analysis.
Value
Results from ARC chain validation.
public DanglingCnameAnalysis DanglingCnameAnalysis { get; set; } #Gets the dangling CNAME analysis.
Value
Information about unresolved CNAME targets.
public DnsTtlAnalysis DnsTtlAnalysis { get; set; } #Gets DNS TTL analysis.
Value
Information about record TTL values.
public PortAvailabilityAnalysis PortAvailabilityAnalysis { get; set; } #Gets the port availability analysis.
Value
TCP port connectivity results.
public PortScanAnalysis PortScanAnalysis { get; set; } #Gets the port scan analysis.
Value
Open port results.
public SnmpAnalysis SnmpAnalysis { get; set; } #Gets the SNMP analysis.
Value
Results from SNMP service checks.
public IPNeighborAnalysis IPNeighborAnalysis { get; set; } #Gets the IP neighbor analysis.
Value
Domains sharing the same IP address.
public RPKIAnalysis RpkiAnalysis { get; set; } #Gets the RPKI analysis.
Value
Origin validation results.
public DnsTunnelingAnalysis DnsTunnelingAnalysis { get; set; } #Gets the DNS tunneling analysis.
Value
Possible tunneling activities.
public TyposquattingAnalysis TyposquattingAnalysis { get; set; } #Gets the typosquatting analysis.
Value
Potential look-alike domains.
public ThreatIntelAnalysis ThreatIntelAnalysis { get; set; } #Gets the threat intelligence analysis.
Value
Results from reputation services.
public ThreatFeedAnalysis ThreatFeedAnalysis { get; set; } #Gets the threat feed analysis.
Value
Results from external threat feeds.
public WildcardDnsAnalysis WildcardDnsAnalysis { get; set; } #Gets the wildcard DNS analysis.
Value
Results of wildcard detection.
public EdnsSupportAnalysis EdnsSupportAnalysis { get; set; } #Gets the EDNS support analysis.
Value
Information about EDNS capabilities.
public DnsAmplificationAnalysis DnsAmplificationAnalysis { get; set; } #Gets the DNS amplification posture analysis.
Value
Open recursion + EDNS + bounded large-answer probes.
public DnsOverTlsAnalysis DnsOverTlsAnalysis { get; set; } #Gets the DNS over TLS (DoT) support analysis.
Value
Port 853/TLS probe results for authoritative name servers.
public FlatteningServiceAnalysis FlatteningServiceAnalysis { get; set; } #Gets the flattening service analysis.
Value
Information about CNAME flattening services.
public TakeoverCnameAnalysis TakeoverCnameAnalysis { get; set; } #Gets the takeover CNAME analysis.
Value
Information about risky cloud provider aliases.
public DirectoryExposureAnalysis DirectoryExposureAnalysis { get; set; } #Gets the directory exposure analysis.
Value
Results of exposed directory checks.
public DnsHealthAnalysis DnsHealthAnalysis { get; set; } #Gets the DNS Health analysis.
public NtpAnalysis NtpAnalysis { get; set; } #Gets the NTP analysis.
Value
Clock information from NTP servers.
public WebStaticScanAnalysis WebStaticScanAnalysis { get; set; } #Gets the static web scan analysis.
Value
Results of static (non-browser) web scanning.
public AgentReadinessAnalysis AgentReadinessAnalysis { get; set; } #Gets the agent readiness analysis.
Value
AI crawler and agent-facing discovery results.
public SitemapAnalysis SitemapAnalysis { get; set; } #Gets the sitemap analysis.
Value
Sitemap XML validation and sitemap-listed URL probe results.
public SubdomainsAnalysis SubdomainsAnalysis { get; set; } #Gets the subdomain discovery analysis.
Value
CT-backed subdomain discovery with optional DNS verification.
public DnsInventoryAnalysis DnsInventoryAnalysis { get; set; } #Gets the DNS inventory analysis.
Value
Common record inventory with TTLs and optional authority/additional capture.
public DnsTraceAnalysis DnsTraceAnalysis { get; set; } #Gets the DNS trace analysis.
Value
Iterative authoritative trace log for explainability and debugging.
public CertificateTransparencyTimelineAnalysis CtTimelineAnalysis { get; set; } #Gets the certificate transparency timeline analysis.
Value
Issuance/validity timeline and issuer diversity for CT entries.
public IpEnrichmentAnalysis IpEnrichmentAnalysis { get; set; } #Gets the IP enrichment analysis.
Value
Reverse DNS + ASN/org + geo hints for discovered IPs.
public DnsPropagationSetAnalysis DnsPropagationSet { get; set; } #Gets the DNS propagation set analysis.
Value
Multi-resolver DNS visibility summaries (per record type).
public MailDomainClassificationResult MailDomainClassification { get; set; } #Gets the cached mail domain classification result.
Value
Best-effort classification of the domain's mail posture.
public ProviderMatch EmailProviderMatch { get; set; } #Best-effort detection of email providers (primary/gateways/outbound) based on MX, SPF, and DKIM signals.
public IReadOnlyList<RecommendationAdvice> Recommendations { get; } #Aggregated recommendations across all analysis modules.
public IReadOnlyList<RecommendationView> RecommendationViews { get; } #Aggregated grouped recommendation views (by code), ordered by severity/category.
public Boolean UseSubdomainPolicy { get; set; } #When true, DMARC policy strength evaluation checks the sp tag.
public Boolean UnicodeOutput { get; set; } #Display domain names in Unicode where possible.
public DnsEndpoint DnsEndpoint { get; set; } #DNS server used when querying records.
Value
The endpoint for DNS queries.
public DnsSelectionStrategy DnsSelectionStrategy { get; set; } #Strategy for choosing the DNS server when multiple are configured.
Value
The selection strategy.
public List<DnsEndpoint> DnsEndpoints { get; } #Optional list of resolver endpoints to use (multi-resolver).
public MultiResolverStrategy MultiResolverStrategy { get; set; } #Strategy for multi-resolver queries.
public Nullable<Int32> MultiResolverMaxParallelism { get; set; } #Maximum number of resolvers to query in parallel (null means all).
public Nullable<Int32> ResolverMaxConcurrency { get; set; } #Optional concurrency hint for DNS resolver queries.
public HealthCheckExecutionOptions ExecutionOptions { get; } #Execution options for running health checks.
public String MtaStsPolicyUrlOverride { get; set; } #Optional override for the MTA-STS policy URL.
Value
A URL to use instead of querying DNS.
public String GoogleSafeBrowsingApiKey { get; set; } #API key for Google Safe Browsing.
public String PhishTankApiKey { get; set; } #API key for PhishTank.
public String VirusTotalApiKey { get; set; } #API key for VirusTotal.
public String AbuseIpDbApiKey { get; set; } #API key for AbuseIPDB.
public IEnumerable<String> DnsTunnelingLogs { get; set; } #Log lines used for DNS tunneling analysis.
public DnsConfiguration DnsConfiguration { get; set; } #Holds DNS client configuration used throughout analyses.
Value
The DNS configuration instance.
public String CacheDirectory { get; set; } #Directory used for caching downloaded data.
public Int32 TyposquattingLevenshteinThreshold { get; set; } #Maximum Levenshtein distance used for typosquatting detection.
public Boolean EnableHomoglyphDetection { get; set; } #Enable detection of homoglyph characters.
public List<String> TyposquattingBrandKeywords { get; } #Protected brand keywords for typosquatting detection.
public Boolean TyposquattingEnableEnrichment { get; set; } #When true, promising typosquatting candidates are enriched with additional DD analyses.
public Int32 TyposquattingEnrichmentMaxCandidates { get; set; } #Maximum number of typosquatting candidates enriched after DNS screening.
public Int32 TyposquattingEnrichmentMaxParallelism { get; set; } #Maximum number of typosquatting enrichments performed in parallel.
public Boolean TyposquattingEnrichWhois { get; set; } #When true, typosquatting enrichment includes WHOIS.
public Boolean TyposquattingEnrichHttp { get; set; } #When true, typosquatting enrichment includes HTTP posture.
public Boolean TyposquattingEnrichIp { get; set; } #When true, typosquatting enrichment includes IP enrichment.
public Boolean TyposquattingEnrichSmtpBanner { get; set; } #When true, typosquatting enrichment includes SMTP banner checks on candidate MX hosts.
public Boolean TyposquattingEnrichSmtpRecipientAcceptance { get; set; } #When true, typosquatting enrichment checks whether candidate MX hosts accept mail for the lookalike domain.
public Boolean TyposquattingEnrichWebStaticScan { get; set; } #When true, typosquatting enrichment includes static web discovery.
public Boolean TyposquattingEnrichThreatIntel { get; set; } #When true, typosquatting enrichment includes threat intelligence lookups.
public Boolean TyposquattingCaptureHttpBody { get; set; } #When true, typosquatting HTTP enrichment captures response bodies.
public Boolean TyposquattingCompareOwnershipSignals { get; set; } #When true, typosquatting candidates are compared with the source domain ownership footprint.
public Boolean TyposquattingOwnershipIncludeWhois { get; set; } #When true, the source-domain ownership profile includes WHOIS registrar data.
public Boolean TyposquattingOwnershipIncludeIp { get; set; } #When true, the source-domain ownership profile includes IP enrichment and ASN data.
public Boolean TyposquattingOwnershipIncludeMx { get; set; } #When true, the source-domain ownership profile includes MX host overlap checks.
public Boolean TyposquattingEnableContentSimilarity { get; set; } #When true, typosquatting candidates are compared with the source domain web content.
public Boolean TyposquattingSimilarityIncludeWebStaticScan { get; set; } #When true, content similarity also uses static web analysis for title and technology overlap.
public Boolean TyposquattingEnableVisualSimilarity { get; set; } #When true, typosquatting candidates are compared using reusable visual fingerprints.
public Int32 TyposquattingVisualMaxCandidates { get; set; } #Maximum number of typosquatting candidates included in visual comparison.
public Int32 TyposquattingVisualMaxParallelism { get; set; } #Maximum number of parallel visual comparisons.
public Boolean TyposquattingVisualUseStaticAssetCapture { get; set; } #When true, visual similarity can fall back to static asset discovery such as favicons and OG images.
public Boolean TyposquattingVisualUseBrowserCapture { get; set; } #When true, visual similarity can try a built-in rendered browser screenshot provider.
public Int32 TyposquattingVisualMaxAssetBytes { get; set; } #Maximum number of bytes downloaded for a single typosquatting visual asset.
public Int32 TyposquattingVisualMaxAssetsPerPage { get; set; } #Maximum number of visual assets compared per source or candidate page.
public Boolean DnsSecValidateLocally { get; set; } #When true, DNSSEC queries use local validation (validateDnsSec: true) in DnsClientX.
public DnsRecordType[] DnsPropagationRecordTypes { get; set; } #Record types tested for DNS propagation (multi-resolver) checks.
public Int32 DnsPropagationMaxServers { get; set; } #Maximum number of public resolvers queried for DNS propagation (bounded for responsiveness).
public Int32 DnsPropagationMaxParallelism { get; set; } #Maximum parallel DNS propagation queries.
public Boolean DnsPropagationIncludeGeo { get; set; } #When true, includes GeoIP lookups for mappable country rollups.
public Int32 DnsPropagationMaxResultsToKeep { get; set; } #Maximum number of resolver results retained per record type for reporting.
public DomainSummary Summary { get; } #Quick access to a condensed summary of this health check.
Inherited Properties
Fields
Inherited Fields
Extension Methods
public static DomainPortfolioSnapshot ToPortfolioSnapshot(DomainHealthCheck healthCheck, String subject, IEnumerable<HealthCheckType> checks = null, Nullable<DateTimeOffset> capturedAtUtc = null) #DomainPortfolioSnapshotBuilds a portfolio snapshot from this health check.
Parameters
- healthCheck DomainDetective.DomainHealthCheck
- Health check that contains analysis results.
- subject System.String
- Domain or host represented by the snapshot.
- checks System.Collections.Generic.IEnumerable{DomainDetective.HealthCheckType} = null
- Optional subset of checks to include.
- capturedAtUtc System.Nullable{System.DateTimeOffset} = null
- Optional capture time. Defaults to the current UTC time.
Returns
Storage-free portfolio snapshot.