API Reference
DnsTraceAnalysis
Performs an authoritative-style DNS trace by iteratively querying root servers and following referrals. Captures a hop-by-hop log to support explainability and debugging.
Inheritance
- Object
- DnsTraceAnalysis
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.DnsTraceAnalysis
- Property DnsTraceInfo.Raw
Accepted by parameters
- Method Converters.Convert
Constructors
public DnsTraceAnalysis() #Methods
public async Task AnalyzeAsync(String domain, InternalLogger logger = null, CancellationToken cancellationToken = null) #TaskPerforms a DNS trace 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 user-agent and shared defaults).
public Func<String, String, DnsRecordType, CancellationToken, Task<DnsResponse>> QueryOverride { get; set; } #Optional override for querying a specific DNS server (IP) for (name,type). Used by tests and offline callers.
public DnsRecordType[] RecordTypesToTrace { get; set; } #Record types to trace (default: A and AAAA).
public Boolean IncludeIpv6RootServers { get; set; } #When true, includes IPv6 root servers in the initial hop set.
public Int32 MaxDepth { get; set; } #Maximum referral depth before stopping.
public Int32 MaxServersPerDepth { get; set; } #Maximum servers tried per depth (prevents huge referral fan-out).
public Int32 MaxTotalSteps { get; set; } #Maximum total steps captured across all traced record types.
public Int32 MaxCnameHops { get; set; } #Maximum CNAME hops to chase when an authoritative response returns a CNAME without the requested type.
public Int32 TimeoutMilliseconds { get; set; } #Timeout per server query (milliseconds) for UDP/TCP fallback queries.
public Boolean TraceSucceeded { get; set; } #True when tracing executed (even if a record type returned no final answer).
public String FailureReason { get; set; } #If TraceSucceeded is false, contains a short reason.
public Int32 TraceQueries { get; set; } #Total number of trace queries attempted.
public Int32 TraceQueriesFailed { get; set; } #Number of trace queries that failed.
public Int32 TotalSteps { get; set; } #Total number of steps captured across all trace queries.
public IReadOnlyList<DnsTraceQuery> Queries { get; set; } #Per-record-type trace results.
public virtual List<Assessment> Assessments { get; } #Assessment collection for report-friendly output.