Domain Detective

API Reference

Class

WhoisAnalysis

Namespace DomainDetective
Assembly DomainDetective
Implements

Queries WHOIS servers and parses registration details.

Inheritance

  • Object
  • WhoisAnalysis

Usage

This type appears in these public API surfaces even when no hand-authored example is attached directly to the page.

Accepted by parameters

Constructors

public WhoisAnalysis() #

Initializes a new instance of the WhoisAnalysis class.

Methods

public IEnumerable<String> GetWhoisChanges() #
Returns: IEnumerable<String>

Returns line level differences between the current WHOIS data and the last saved snapshot.

public async Task QueryIana(String domain, CancellationToken cancellationToken = null) #
Returns: Task

Queries IANA RDAP for registrar information.

Parameters

domain System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task<ValueTuple<String, String>> QueryIpWhois(String ipAddress, CancellationToken cancellationToken = null) #
Returns: Task<ValueTuple<String, String>>

Queries ARIN, RIPE and APNIC WHOIS servers for IP information.

Parameters

ipAddress System.String requiredposition: 0
IP address to query.
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
Token to cancel the operation.

Returns

Tuple containing allocation and ASN when available.

public async Task QueryWhoisServer(String domain, CancellationToken cancellationToken = null) #
Returns: Task

Queries a single WHOIS server for the specified domain.

Parameters

domain System.String requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public async Task<List<WhoisAnalysis>> QueryWhoisServers(String[] domains, CancellationToken cancellationToken = null) #
Returns: Task<List<WhoisAnalysis>>

Queries WHOIS servers for multiple domains in parallel.

Parameters

domains System.String[] requiredposition: 0
cancellationToken System.Threading.CancellationToken = null optionalposition: 1
public Void SaveSnapshot() #
Returns: Void

Saves the current WHOIS data snapshot to SnapshotDirectory.

Properties

public DnsConfiguration DnsConfiguration { get; set; } #

DNS configuration used for auxiliary lookups (e.g., whois-servers.net).

public String DomainName { get; set; } #

The domain name being queried.

public String Tld { get; } #

Top-level domain portion of DomainName.

public String Registrar { get; set; } #

WHOIS registrar name.

public String CreationDate { get; set; } #

Creation date string as returned by the server.

public String ExpiryDate { get; set; } #

Expiry date string as returned by the server.

public String LastUpdated { get; set; } #

Last updated date string.

public String RegisteredTo { get; set; } #

Entity the domain is registered to.

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

Name servers listed in the response.

public TimeSpan Timeout { get; set; } #

Timeout applied when querying WHOIS servers.

public String RegistrantType { get; set; } #

Type of registrant if provided.

public String Country { get; set; } #

Registrant country code.

public String DnsSec { get; set; } #

DNSSEC status string.

public String DnsRecord { get; set; } #

Raw DNS record returned, if any.

public String RegistrarAddress { get; set; } #

Registrar address text.

public String RegistrarTel { get; set; } #

Registrar phone number.

public String RegistrarWebsite { get; set; } #

Registrar website URL.

public String RegistrarLicense { get; set; } #

Registrar licence identifier.

public String RegistrarEmail { get; set; } #

Gets or sets the registrar email value.

public String RegistrarAbuseEmail { get; set; } #

Gets or sets the registrar abuse email value.

public String RegistrarAbusePhone { get; set; } #

Gets or sets the registrar abuse phone value.

public String WhoisData { get; set; } #

Gets or sets the whois data value.

public Boolean FollowReferral { get; set; } #

When true, follows Registrar WHOIS referrals for gTLDs when available.

public Int32 MaxReferralDepth { get; set; } #

Maximum referral depth when FollowReferral is enabled.

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

WHOIS servers visited via referral (in order).

public Boolean ExpiresSoon { get; set; } #

Gets or sets the expires soon value.

public Boolean IsExpired { get; set; } #

Gets or sets the is expired value.

public Nullable<Int32> DaysUntilExpiration { get; set; } #

Gets or sets the days until expiration value.

public Boolean RegistrarLocked { get; set; } #

Gets or sets the registrar locked value.

public Boolean PrivacyProtected { get; set; } #

Gets or sets the privacy protected value.

public TimeSpan ExpirationWarningThreshold { get; set; } #

Gets or sets the expiration warning threshold value.

public TimeSpan ExpirationLongTermThreshold { get; set; } #

Gets or sets the expiration long term threshold value.

public String SnapshotDirectory { get; set; } #

Gets or sets the snapshot directory value.

public String RegistrarId { get; set; } #

Gets or sets the registrar id value.

public Func<String, Task<String>> IanaQueryOverride { get; set; } #

Represents the iana query override value.

public virtual List<Assessment> Assessments { get; } #

Gets the assessments value.

public Int32 MaxQueryRetries { get; set; } #

Maximum number of WHOIS TCP connect/query retries on transient failures.

public TimeSpan RetryBackoffBase { get; set; } #

Base delay used for exponential backoff between retries.

public Int32 RetryJitterMaxMs { get; set; } #

Maximum additional random jitter (in milliseconds) added to backoff.

public String WhoisServerUsed { get; set; } #

The WHOIS server used to fulfill the query.

public String WhoisLookupSource { get; set; } #

How the WHOIS server was determined (StaticMap, whois-servers.net, IANA).

{{ include "footer" }}