API Reference
NSAnalysis
Performs analysis of NS records for a domain.
Inheritance
- Object
- NSAnalysis
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.NSAnalysis
- Property NsInfo.Raw
Accepted by parameters
- Method NSNarrative.Build
- Method Converters.Convert
Constructors
public NSAnalysis() #Methods
public async Task AnalyzeNsRecords(IEnumerable<DnsAnswer> dnsResults, InternalLogger logger) #TaskProcesses NS records and determines their properties.
Parameters
- dnsResults System.Collections.Generic.IEnumerable{DnsClientX.DnsAnswer}
- logger DomainDetective.InternalLogger
public async Task AnalyzeParentDelegation(String domainName, InternalLogger logger) #TaskAnalyzes delegation information from the parent zone.
Parameters
- domainName System.String
- Domain being checked.
- logger DomainDetective.InternalLogger
- Logger used for diagnostics.
QueryDns(System.String arg1, DnsClientX.DnsRecordType arg2) #Executes a DNS query for the specified record type.
Parameters
- arg1 System.String
- arg2 DnsClientX.DnsRecordType
public async Task<ValueTuple<List<String>, Dictionary<String, List<String>>>> QueryParentNsGlue(String domainName, InternalLogger logger) #Task<ValueTuple<List<String>, Dictionary<String, List<String>>>>Queries the parent zone for NS records and glue information.
Parameters
- domainName System.String
- logger DomainDetective.InternalLogger
public async Task QueryRootServers(InternalLogger logger) #TaskExecutes the query root servers operation.
Parameters
- logger DomainDetective.InternalLogger
public async Task TestRecursion(InternalLogger logger) #TaskExecutes the test recursion operation.
Parameters
- logger DomainDetective.InternalLogger
Inherited Methods
public override Boolean Equals(Object obj) #BooleanParameters
- obj Object
Properties
public String Subject { get; set; } #Gets or sets the subject value.
public DnsConfiguration DnsConfiguration { get; set; } #Configuration used for DNS queries.
public Func<String, DnsRecordType, Task<DnsAnswer[]>> QueryDnsOverride { get; set; } #Allows injection of a DNS query implementation for testing.
public Func<String, DnsRecordType, Task<IEnumerable<DnsResponse>>> QueryDnsFullOverride { get; set; } #Optional full DNS query override that returns raw responses.
public Func<String, Task<Boolean>> RecursionTestOverride { get; set; } #Optional override for recursion testing logic.
public List<String> NsRecords { get; set; } #Gets or sets the ns records value.
public Boolean NsRecordExists { get; set; } #Gets or sets the ns record exists value.
public Boolean HasDuplicates { get; set; } #Gets or sets the has duplicates value.
public Boolean AtLeastTwoRecords { get; set; } #Gets or sets the at least two records value.
public Boolean AllHaveAOrAaaa { get; set; } #Gets or sets the all have a or aaaa value.
public Boolean PointsToCname { get; set; } #Gets or sets the points to cname value.
public Boolean HasDiverseLocations { get; set; } #Gets or sets the has diverse locations value.
public List<String> ParentNsRecords { get; set; } #Gets or sets the parent ns records value.
public Boolean DelegationMatches { get; set; } #Gets or sets the delegation matches value.
public Boolean GlueRecordsComplete { get; set; } #Gets or sets the glue records complete value.
public Boolean GlueRecordsConsistent { get; set; } #Gets or sets the glue records consistent value.
public Dictionary<String, Boolean> RootServerResponses { get; set; } #Gets or sets the root server responses value.
public Dictionary<String, Boolean> RecursionEnabled { get; set; } #Gets or sets the recursion enabled value.
public Boolean EnableChaosFingerprinting { get; set; } #Gets or sets the enable chaos fingerprinting value.
public Int32 ChaosQueryTimeoutMs { get; set; } #Gets or sets the chaos query timeout ms value.
public Int32 ChaosMaxServerIpsToQuery { get; set; } #Gets or sets the chaos max server ips to query value.
public Dictionary<String, String> ChaosVersionByServer { get; set; } #Gets or sets the chaos version by server value.
public Dictionary<String, String> ChaosHostnameByServer { get; set; } #Gets or sets the chaos hostname by server value.
public Func<IPAddress, Byte[], CancellationToken, Task<Byte[]>> QueryUdpOverride { get; set; } #Optional override for raw UDP DNS queries (tests/offline).
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 Func<String, Task<Nullable<Int32>>> LookupAsnOverride { get; set; } #Override for ASN lookup in tests.
public Int32 AsnLookupTimeoutMs { get; set; } #Timeout (ms) for best-effort ASN lookups when no override is set.
public virtual List<Assessment> Assessments { get; } #Gets the assessments value.