API Reference
DnsTtlAnalysis
Collects TTL values for common DNS records and exposes warnings when values fall outside recommended ranges.
Inheritance
- Object
- DnsTtlAnalysis
Remarks
Typical TTL thresholds are based on operational best practices and may be adjusted to suit specific environments.
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.DnsTtlAnalysis
- Property TtlInfo.Raw
Accepted by parameters
- Method TtlNarrative.Build
- Method Converters.Convert
Constructors
public DnsTtlAnalysis() #Methods
public async Task Analyze(String domainName, InternalLogger logger) #TaskQueries DNS records for TTL values and evaluates them.
Parameters
- domainName System.String
- Domain name to analyze.
- logger DomainDetective.InternalLogger
- Optional logger used for diagnostics.
public async Task AnalyzeUniformityAcrossServers(String domainName, InternalLogger logger, CancellationToken ct = null) #TaskCompares TTLs across authoritative name servers for core RRsets (A, AAAA, NS, CNAME).
Parameters
- domainName System.String
- logger DomainDetective.InternalLogger
- ct System.Threading.CancellationToken = null
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public String Subject { get; set; } #Gets or sets the subject value.
public Boolean DnsSecSigned { get; set; } #Indicates whether the zone is signed with DNSSEC.
public IReadOnlyList<Int32> ATtls { get; set; } #Gets TTL values for A records including zero values.
public IReadOnlyList<Int32> AaaaTtls { get; set; } #Gets TTL values for AAAA records including zero values.
public IReadOnlyList<Int32> MxTtls { get; set; } #Gets TTL values for MX records including zero values.
public IReadOnlyList<Int32> NsTtls { get; set; } #Gets TTL values for NS records including zero values.
public Int32 SoaTtl { get; set; } #Gets the TTL value for the SOA record; zero indicates no TTL or missing record.
public IReadOnlyList<Int32> SpfTxtTtls { get; set; } #TTL values for SPF TXT at the zone apex.
public IReadOnlyList<Int32> DmarcTxtTtls { get; set; } #TTL values for _dmarc TXT.
public IReadOnlyList<Int32> MtastsTxtTtls { get; set; } #TTL values for _mta-sts TXT.
public IReadOnlyList<Int32> TlsRptTxtTtls { get; set; } #TTL values for _smtp._tls TXT (TLS-RPT).
public Dictionary<String, IReadOnlyList<Int32>> DkimTxtTtls { get; set; } #TTL values for DKIM selector TXT records, keyed by FQDN (selector._domainkey.domain).
public IReadOnlyList<String> Warnings { get; } #Collection of warning messages produced during analysis.
public virtual List<Assessment> Assessments { get; } #Structured assessments captured during TTL analysis.
public IReadOnlyList<RecommendationAdvice> Recommendations { get; } #Represents the recommendations value.
public DnsConfiguration DnsConfiguration { get; set; } #Provides DNS query implementation details.
public List<String> DkimSelectors { get; set; } #Optional list of DKIM selectors discovered earlier (used for TXT TTL checks).
public Int32 MinTtlSpfSeconds { get; set; } #Minimum TTL for SPF TXT records (seconds).
public Int32 MinTtlDmarcSeconds { get; set; } #Minimum TTL for DMARC TXT records (seconds).
public Int32 MinTtlDkimSelectorSeconds { get; set; } #Minimum TTL for DKIM selector TXT records (seconds).
public Int32 MinTtlMtastsSeconds { get; set; } #Minimum TTL for MTA-STS TXT records (seconds).
public Int32 MinTtlTlsRptSeconds { get; set; } #Minimum TTL for TLS-RPT TXT records (seconds).
public Int32 UniformityQueryTimeoutMs { get; set; } #UDP receive timeout (milliseconds) used when querying authoritative servers directly during CancellationToken).
public Int32 UniformityMaxParallelism { get; set; } #Maximum number of concurrent authoritative-server TTL queries performed by CancellationToken).
public Dictionary<String, Nullable<Int32>> ServerTtlA { get; set; } #Gets or sets the server ttl a value.
public Dictionary<String, Nullable<Int32>> ServerTtlAaaa { get; set; } #Gets or sets the server ttl aaaa value.
public Dictionary<String, Nullable<Int32>> ServerTtlNs { get; set; } #Gets or sets the server ttl ns value.
public Dictionary<String, Nullable<Int32>> ServerTtlCname { get; set; } #Gets or sets the server ttl cname value.
public Dictionary<String, Nullable<Int32>> ServerTtlTxtSpf { get; set; } #Gets or sets the server ttl txt spf value.
public Dictionary<String, Nullable<Int32>> ServerTtlTxtDmarc { get; set; } #Gets or sets the server ttl txt dmarc value.
public Dictionary<String, Nullable<Int32>> ServerTtlTxtMtasts { get; set; } #Gets or sets the server ttl txt mtasts value.
public Dictionary<String, Nullable<Int32>> ServerTtlTxtTlsRpt { get; set; } #Gets or sets the server ttl txt tls rpt value.
public Dictionary<String, Dictionary<String, Nullable<Int32>>> ServerTtlTxtPerName { get; set; } #Per-name TXT TTLs across authoritative servers. Key is the record name (e.g., s1._domainkey.example.com).
public Boolean AUniformAcrossServers { get; set; } #Gets or sets the a uniform across servers value.
public Boolean AaaaUniformAcrossServers { get; set; } #Gets or sets the aaaa uniform across servers value.
public Boolean NsUniformAcrossServers { get; set; } #Gets or sets the ns uniform across servers value.
public Boolean CnameUniformAcrossServers { get; set; } #Gets or sets the cname uniform across servers value.
public Func<String, DnsRecordType, Task<DnsAnswer[]>> QueryDnsOverride { get; set; } #Optional override for DNS queries, primarily used for testing.