API Reference
DnsInventoryAnalysis
Performs a lightweight DNS inventory for a domain by querying common record types and capturing answers (and optionally authority/additional sections) with TTLs for reporting.
Inheritance
- Object
- DnsInventoryAnalysis
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
- Property DomainHealthCheck.DnsInventoryAnalysis
- Property DnsInventoryInfo.Raw
Accepted by parameters
- Method Microsoft365TenantAnalysis.Analyze
- Method Converters.Convert
Constructors
public DnsInventoryAnalysis() #Methods
public async Task AnalyzeAsync(String domain, InternalLogger logger = null, CancellationToken cancellationToken = null) #TaskPerforms a DNS inventory for the specified domain.
Parameters
- domain System.String
- logger DomainDetective.InternalLogger = null
- cancellationToken System.Threading.CancellationToken = null
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public String Subject { get; set; } #The domain being analyzed.
public DnsConfiguration DnsConfiguration { get; set; } #DNS configuration used for queries.
public Func<String, DnsRecordType, CancellationToken, Task<DnsResponse>> QueryOverride { get; set; } #Optional override returning a full DNS response for a given (name,type) query. Used by tests and offline callers.
public Boolean QuerySucceeded { get; set; } #True when the inventory completed (even if some record types returned no data).
public String FailureReason { get; set; } #If QuerySucceeded is false, this may contain a short reason.
public Int32 RecordTypesQueried { get; set; } #Total number of record types attempted.
public Int32 RecordTypesFailed { get; set; } #Number of record type queries that failed.
public Int32 TotalRecords { get; set; } #Total number of captured records across all queries.
public DnsProvider Provider { get; set; } #Best-effort inferred DNS provider based on NS/SOA patterns.
public Int32 ProviderScore { get; set; } #Score used for provider inference (higher = more matches).
public IReadOnlyList<String> ProviderEvidence { get; set; } #Short evidence strings explaining provider inference.
public MailProviderKind MailProvider { get; set; } #Best-effort inferred mail provider based on MX patterns.
public Int32 MailProviderScore { get; set; } #Score used for mail provider inference (higher = more matches).
public IReadOnlyList<String> MailProviderEvidence { get; set; } #Short evidence strings explaining mail provider inference.
public DnsCnameTargetProvider CnameTargetProvider { get; set; } #Best-effort inferred provider for apex CNAME target.
public DnsCnameTargetFlags CnameTargetFlags { get; set; } #Flags describing the apex CNAME target (best-effort).
public IReadOnlyList<String> CnameTargetEvidence { get; set; } #Short evidence strings explaining CNAME target inference.
public DnsTxtSignals TxtSignals { get; set; } #Signals inferred from TXT records (apex).
public IReadOnlyList<String> TxtSignalsEvidence { get; set; } #Short evidence strings explaining TXT signal inference.
public IReadOnlyList<DetectedDnsApplication> DetectedDnsApplications { get; set; } #Typed applications and services inferred from DNS provider, mail provider, and TXT evidence.
public DnsCaaIssuers CaaIssuers { get; set; } #Issuers inferred from CAA records (apex).
public IReadOnlyList<String> CaaIssuersEvidence { get; set; } #Short evidence strings explaining CAA issuer inference.
public Boolean IncludeAuthorities { get; set; } #When true (default), includes authority section records where present.
public Boolean IncludeAdditional { get; set; } #When true, includes additional section records where present.
public Int32 MaxRecordsPerSection { get; set; } #Maximum number of records captured per DNS section (answers/authority/additional).
public Int32 QueryConcurrency { get; set; } #Maximum number of concurrent DNS queries for the inventory.
public DnsInventoryProfile Profile { get; set; } #Inventory profile controlling which record types are queried.
public Boolean EvaluateIpv6Readiness { get; set; } #When true, performs a lightweight IPv6 readiness roll-up (apex + MX/NS host AAAA).
public Int32 MaxIpv6ReadinessHostChecks { get; set; } #Maximum number of MX/NS hostnames queried for AAAA during IPv6 readiness roll-up.
public IReadOnlyList<DnsInventoryQuery> Queries { get; set; } #Queries captured for each record type.
public virtual List<Assessment> Assessments { get; } #Assessment collection for report-friendly output.