Domain Detective

API Reference

Class

ApexAddressAnalysis

Namespace DomainDetective
Assembly DomainDetective
Modifiers sealed

Analyzes apex A/AAAA records for a domain and surfaces whether address records exist that SMTP could use as a fallback when MX records are absent (RFC 5321).

Inheritance

  • Object
  • ApexAddressAnalysis

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

Accepted by parameters

Constructors

Methods

public Task AnalyzeApexAnswers(IEnumerable<DnsAnswer> aAnswers, IEnumerable<DnsAnswer> aaaaAnswers, InternalLogger logger = null) #
Returns: Task

Analyzes apex address answers supplied by the caller.

Parameters

aAnswers System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer} requiredposition: 0
aaaaAnswers System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer} requiredposition: 1
logger DomainDetective.InternalLogger = null optionalposition: 2
public async Task AnalyzeAsnAndRpkiAsync(String domainName, InternalLogger logger = null) #
Returns: Task

Populates ASN and RPKI validity for apex addresses using RPKIAnalysis.

Parameters

domainName System.String requiredposition: 0
logger DomainDetective.InternalLogger = null optionalposition: 1
public async Task AnalyzeAsync(String domainName, InternalLogger logger = null) #
Returns: Task

Queries and analyzes apex A/AAAA for the given domain using configured DNS.

Parameters

domainName System.String requiredposition: 0
logger DomainDetective.InternalLogger = null optionalposition: 1
public async Task AnalyzeReverseDnsAsync(String domainName, InternalLogger logger = null) #
Returns: Task

Performs PTR and FCrDNS checks for apex addresses.

Parameters

domainName System.String requiredposition: 0
logger DomainDetective.InternalLogger = null optionalposition: 1
public Void Reset() #
Returns: Void

Executes the reset operation.

Properties

public String Subject { get; set; } #

Gets or sets the subject value.

public DnsConfiguration DnsConfiguration { get; set; } #

DNS configuration used for lookups when needed.

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

Optional DNS query override for testing.

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

Apex A records discovered.

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

Apex AAAA records discovered.

public Boolean HasARecord { get; } #

True when at least one A record exists.

public Boolean HasAaaaRecord { get; } #

True when at least one AAAA record exists.

public Boolean HasAnyAddress { get; } #

True when either A or AAAA records exist.

public IReadOnlyList<StandardReference> RfcReferences { get; } #

Relevant standards for apex address (SMTP fallback) behavior.

public Int32 IPv4Count { get; set; } #

Gets or sets the i pv4 count value.

public Int32 IPv6Count { get; set; } #

Gets or sets the i pv6 count value.

public Int32 DistinctSubnetCountV4 { get; set; } #

Gets or sets the distinct subnet count v4 value.

public Int32 DistinctSubnetCountV6 { get; set; } #

Gets or sets the distinct subnet count v6 value.

public Int32 PrivateAddressCount { get; set; } #

Gets or sets the private address count value.

public Int32 LoopbackCount { get; set; } #

Gets or sets the loopback count value.

public Int32 LinkLocalCount { get; set; } #

Gets or sets the link local count value.

public Int32 MulticastCount { get; set; } #

Gets or sets the multicast count value.

public Int32 DocumentationAddressCount { get; set; } #

Gets or sets the documentation address count value.

public Int32 UniqueLocalV6Count { get; set; } #

Gets or sets the unique local v6 count value.

public Int32 PublicAddressCount { get; set; } #

Gets or sets the public address count value.

public Dictionary<String, List<String>> PtrByIp { get; set; } #

Gets or sets the ptr by ip value.

public Boolean AnyPtrPresent { get; set; } #

Gets or sets the any ptr present value.

public Boolean AllPtrPresent { get; set; } #

Gets or sets the all ptr present value.

public Int32 FcrDnsValidCount { get; set; } #

Gets or sets the fcr dns valid count value.

public Boolean AllFcrDnsValid { get; set; } #

Gets or sets the all fcr dns valid value.

public Dictionary<String, Int32> AsnByIp { get; set; } #

Gets or sets the asn by ip value.

public Int32 AsnDistinctCount { get; set; } #

Gets or sets the asn distinct count value.

public Int32 RpkiValidCount { get; set; } #

Gets or sets the rpki valid count value.

public Boolean AllRpkiValid { get; set; } #

Gets or sets the all rpki valid value.

public Func<String, Task<ValueTuple<String, Int32, Boolean>>> QueryRpkiOverride { get; set; } #

Optional override for RPKI lookups when testing.

{{ include "footer" }}