Domain Detective

API Reference

Class

IpEnrichmentAnalysis

Namespace DomainDetective
Assembly DomainDetective
Implements
Modifiers sealed

Enriches discovered IP addresses with reverse DNS (PTR), RDAP network hints (CIDR/country/org), and offline GeoIP hints (when available).

Inheritance

  • Object
  • IpEnrichmentAnalysis

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Constructors

Methods

public async Task AnalyzeAsync(String domain, IEnumerable<String> additionalIpAddresses = null, InternalLogger logger = null, CancellationToken cancellationToken = null) #
Returns: Task

Performs IP enrichment for the specified domain and optional additional IP addresses.

Parameters

domain System.String requiredposition: 0
additionalIpAddresses System.Collections.Generic.IEnumerable{System.String} = null optionalposition: 1
logger DomainDetective.InternalLogger = null optionalposition: 2
cancellationToken System.Threading.CancellationToken = null optionalposition: 3

Properties

public String Subject { get; set; } #

Domain being analyzed.

public DnsConfiguration DnsConfiguration { get; set; } #

DNS client configuration.

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

Optional override for DNS queries (used by tests).

public RdapClient RdapClient { get; set; } #

RDAP client used for IP lookups.

public Func<String, CancellationToken, Task<RdapIpNetwork>> RdapQueryOverride { get; set; } #

Optional override for RDAP IP lookups (used by tests/offline callers).

public Boolean IncludeMxHostAddresses { get; set; } #

When true, resolves MX host A/AAAA and includes in enrichment.

public Boolean IncludeNsHostAddresses { get; set; } #

When true, resolves NS host A/AAAA and includes in enrichment.

public Int32 MaxHostsPerKind { get; set; } #

Maximum number of MX/NS hosts to resolve (per kind).

public Int32 MaxUniqueIpsToEnrich { get; set; } #

Maximum number of unique IPs to enrich (caps processing for very large estates).

public Int32 MaxParallelism { get; set; } #

Maximum concurrent enrichment operations.

public Boolean ResultsCapped { get; set; } #

True when processing was capped to protect performance.

public Boolean QuerySucceeded { get; set; } #

True when enrichment completed successfully (even if partial data was returned).

public String FailureReason { get; set; } #

If QuerySucceeded is false, this may contain a short reason.

public Int32 UniqueIpCount { get; set; } #

Unique IP count enriched.

public Int32 RowCount { get; set; } #

Total row count produced (may include duplicates when the same IP appears from multiple sources).

public Int32 DistinctAsnCount { get; set; } #

Distinct ASN count (best-effort).

public Int32 DistinctCountryCount { get; set; } #

Distinct country count (best-effort).

public IReadOnlyDictionary<Int32, Int32> AsnCounts { get; set; } #

ASN → count (unique IPs).

public IReadOnlyDictionary<String, Int32> CountryCounts { get; set; } #

Country → count (unique IPs).

public IReadOnlyList<IpEnrichmentRow> Rows { get; set; } #

Enriched rows.

public IReadOnlyList<StandardReference> References { get; } #

Relevant standards for IP enrichment.

public virtual List<Assessment> Assessments { get; } #

Assessment collection for report-friendly output.

public IReadOnlyList<RecommendationAdvice> Recommendations { get; } #

Represents the recommendations value.

{{ include "footer" }}