DnsClient
As defined in https://tools.ietf.org/html/rfc1035#section-5.1 except '()' or '@' or '.'
Reads an IP address from the next 4 bytes.
The .
If there are no 4 bytes to read.
The flags of the header's second 16bit value
A represending an IPv6 .
A 128 bit IPv6 address is encoded in the data portion of an AAAA
resource record in network byte order(high-order byte first).
RFC 3596
Initializes a new instance of the class.
Base class for s transporting an .
Gets the .
The address.
Initializes a new instance of the class.
The information.
The address.
If is null.
If or is null
A representing an AFS database location.
RFC 1183
RFC 5864
Gets the .
The sub type.
Gets the hostname.
The hostname.
Initializes a new instance of the class.
The information.
The type.
The name.
If or is null.
Type used by .
AFS is a registered trademark of Transarc Corporation
The Distributed Computing Environment
A represending an IPv4 .
Hosts that have multiple Internet addresses will have multiple A records.
RFC 1035
Initializes a new instance of the class.
A representing a certification authority authorization.
The Certification Authority Authorization (CAA) DNS Resource Record
allows a DNS domain name holder to specify one or more Certification
Authorities(CAs) authorized to issue certificates for that domain.
CAA Resource Records allow a public Certification Authority to
implement additional controls to reduce the risk of unintended
certificate mis-issue.This document defines the syntax of the CAA
record and rules for processing CAA records by certificate issuers.
RFC 6844
One octet containing the flags.
The property identifier, a sequence of US-ASCII characters.
A sequence of octets representing the property value.
Property values are encoded as binary values and MAY employ sub-formats.
Initializes a new instance of the class.
The information.
The flags.
The tag.
The value.
If or or is null.
A repesenting the canonical name for an alias.
RFC 1035
Gets the canonical name for an alias.
The canonical name.
Initializes a new instance of the class.
The information.
The canonical name.
If or is null.
Base class for all resource records.
Initializes a new instance of the class.
The information.
If is null.
Same as ToString but offsets the
by .
Set the offset to -32 for example to make it print nicely in consols.
The offset.
A string representing this instance.
Returns the actual record's value only and not the full object representation.
uses this to compose the full string value of this instance.
A string representing this record.
The type represents a .
The domain name used to query.
Specifies type of resource record.
Specifies type class of resource record, mostly IN but can be CS, CH or HS .
The TTL value for the record set by the server.
Gets the number of bytes for this resource record stored in RDATA
Initializes a new instance of the class.
The domain name used by the query.
Type of the record.
The record class.
The time to live.
Length of the raw data.
If is null.
Initializes a new instance of the class.
The used by the query.
Type of the record.
The record class.
The time to live.
Length of the raw data.
If is null or empty.
A not representing any specifc resource record.
Used if unsupported s are found in the result.
Initializes a new instance of the class.
The information.
If is null.
A used to acquire general information about a host.
RFC 1035
RFC 1010
Gets a string which specifies the CPU type.
The cpu.
Gets a string which specifies the operating system type.
The os.
Initializes a new instance of the class.
The information.
The cpu.
The os.
If is null.
A represending a domain name which specifies a host which has the specified mailbox.
RFC 1035
Gets the domain name which specifies a host which has the specified mailbox.
The domain name.
Initializes a new instance of the class.
The information.
The domain name.
If or is null.
A represending a domain name which specifies a mailbox which is a member of the mail group specified by the domain name.
RFC 1035
Gets a domain name which specifies a mailbox which is a member of the mail group specified by the domain nam.
The domain name.
Initializes a new instance of the class.
The information.
The domain name.
If or is null.
A represending mailbox or mail list information.
RFC 1035
Gets the domain name which specifies a mailbox which is responsible for the mailing list or mailbox.
The domain name.
Gets the domain name which specifies a mailbox which is to receive error messages related to the mailing list or mailbox.
The domain name.
Initializes a new instance of the class.
The information.
The RMAILBX.
The EMAILBX.
If or or is null.
A represending a mailbox rename domain name.
RFC 1035
Gets the domain name which specifies a mailbox which is the proper rename of the specified mailbox.
The domain name.
Initializes a new instance of the class.
The information.
The domain name.
If or is null.
A represending a mail exchange.
RFC 1035
RFC 974
Gets a 16 bit integer which specifies the preference given to
this RR among others at the same owner.
Lower values are preferred.
A domain name which specifies a host willing to act as a mail exchange.
Initializes a new instance of the class.
The information.
The preference.
Name of the domain.
If or is null.
A represending an authoritative name server.
RFC 1035
Gets the domain name which specifies a host which should be authoritative for the specified class and domain.
The domain name.
Initializes a new instance of the class.
The information.
The name.
If or is null.
Experimental RR, not sure if the implementation is actually correct either (not tested).
RFC 1035
Gets any data stored in this record.
The byte array.
Initializes a new instance of the class.
The information.
Anything.
If or is null.
A DNS resource record represending an IP address.
Hosts that have multiple Internet addresses will have multiple A records.
A represending a pointer. These RRs are used
in special domains to point to some other location in the domain space.
RFC 1035
Gets the domain name which points to some location in the domain name space.
The domain name.
Initializes a new instance of the class.
The information.
The domain name.
If or is null.
The resource record types. The enum contains only the types supported by this library at this moment.
The is used to identify any .
Resource record types are a subset of .
A host address.
RFC 1035
An authoritative name server.
RFC 1035
A mail destination (OBSOLETE - use MX).
RFC 1035
A mail forwarder (OBSOLETE - use MX).
RFC 1035
The canonical name for an alias.
RFC 1035
Marks the start of a zone of authority.
RFC 1035
A mailbox domain name (EXPERIMENTAL).
RFC 1035
A mail group member (EXPERIMENTAL).
RFC 1035
A mailbox rename domain name (EXPERIMENTAL).
RFC 1035
A Null resource record (EXPERIMENTAL).
RFC 1035
A well known service description.
RFC 3232
A domain name pointer.
RFC 1035
Host information.
RFC 1035
RFC 1010
Mailbox or mail list information.
RFC 1035
Mail exchange.
RFC 1035
RFC 974
Text resources.
RFC 1035
RFC 1464
Responsible Person.
RFC 1183
AFS Data Base location.
RFC 1183
RFC 5864
An IPv6 host address.
RFC 3596
A resource record which specifies the location of the server(s) for a specific protocol and domain.
RFC 2782
Option record.
RFC 6891
RRSIG rfc3755.
RFC 3755
A Uniform Resource Identifier (URI) resource record.
RFC 7553
A certification authority authorization.
RFC 6844
A represending a responsible person.
RFC 1183
Gets a domain name that specifies the mailbox for the responsible person.
The mailbox domain.
Gets a domain name for which TXT RR's exist.
The text domain.
Initializes a new instance of the class.
The information.
The mailbox domain.
The text domain.
If or or is null.
A represending a SOA (Start Of Authority) record.
RFC 1035
Gets a 32 bit time value that specifies the upper limit on
the time interval that can elapse before the zone is no
longer authoritative.
The expiration.
Gets the unsigned 32 bit minimum TTL field that should be
exported with any RR from this zone.
The minimum TTL.
Gets the domain name of the name server that was the original or primary source of data for this zone.
The doman name.
Gets a 32 bit time interval before the zone should be refreshed.
The refresh time.
Gets a 32 bit time interval that should elapse before a failed refresh should be retried.
The retry time.
Gets a domain name which specifies the mailbox of the person responsible for this zone.
The responsible mailbox domain name.
Gets the unsigned 32 bit version number of the original copy
of the zone.Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic.
The serial number.
Initializes a new instance of the class.
The information.
Name original domain name.
Name responsible domain name.
The serial number.
The refresh time.
The retry time.
The expire time.
The minimum TTL.
If or or is null.
A represending a location of the server(s) for a specific protocol and domain.
RFC 2782
Gets the port.
The port.
Gets the priority.
The priority.
Gets the target domain name.
The target.
Gets the weight.
The weight.
Initializes a new instance of the class.
The information.
The priority.
The weigth.
The port.
The target.
If or is null.
A represending a text resource.
TXT RRs are used to hold descriptive text. The semantics of the text
depends on the domain where it is found.
RFC 1035
RFC 1464
Gets the list of TXT values of this resource record in escaped form, valid for root file.
See https://tools.ietf.org/html/rfc1035#section-5.1 for escape details.
Gets the actual UTF8 representation of the text values of this record.
Initializes a new instance of the class.
The information.
The values.
The UTF8 values.
If or or is null.
A represending a Uniform Resource Identifier (URI) resource.
RFC 7553
Gets or sets the target Uri.
The target.
Gets or sets the priority.
The priority.
Gets or sets the weigth.
The weigth.
Initializes a new instance of the class.
The information.
The priority.
The weight.
The target.
If or is null.
A represending a Well Known Service description.
Instead of describing the supported protocols in RFCs, the list is now published on http://www.iana.org/.
RFC 3232, the most current update.
Gets the address.
The address.
Gets the Protocol.
According to https://tools.ietf.org/html/rfc6335, only ports for TCP, UDP, DCCP and SCTP services will be assigned.
Gets the binary raw bitmap.
Use to determine which ports are actually configured.
Gets the list of assigned ports.
For example, if this list contains port 25, which is assigned to
the SMTP service. This means that a SMTP services
is running on with transport .
Port numbers
Initializes a new instance of the class.
The information.
The address.
The protocol.
The raw data.
If or or is null.
Specifies kind of query in this message.
This value is set by the originator of a query and copied into the response.
A standard query.
RFC 1035
An inverse query.
RFC 3425
A server status request.
RFC 1035
Unassigned value
Notify query.
RFC 1996
Update query.
RFC 2136
Unassigned value
Unassigned value
Unassigned value
Unassigned value
Unassigned value
Unassigned value
Unassigned value
Unassigned value
Unassigned value
Unassigned value
Extension methods for the contract.
The methods implement common queries which are more complex and have some business logic.
The GetHostEntry method queries a DNS server for the IP addresses and aliases associated with the .
In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname.
IP addresses found are returned in .
records are used to populate the .
The property will be set to the resolved hostname or .
The following code example uses the method to resolve an IP address or hostname to an instance.
The method has some logic to populate the list:
-
In case of sub-domain queries or similar, there might be multiple records for one ,
-
If only one is in the result set, all the aliases found will be returned.
-
If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
The instance.
The or host name to query for.
An instance that contains address information about the host specified in .
In case the could not be resolved to a domain name, this method returns null,
unless is set to true, then it might throw a .
If is null.
In case is set to true and a DNS error occurs.
The GetHostEntryAsync method queries a DNS server for the IP addresses and aliases associated with the .
In case is an , GetHostEntry does a reverse lookup on that first to determine the hostname.
IP addresses found are returned in .
records are used to populate the .
The property will be set to the resolved hostname or .
The following code example uses the method to resolve an IP address or hostname to an instance.
The method has some logic to populate the list:
-
In case of sub-domain queries or similar, there might be multiple records for one ,
-
If only one is in the result set, all the aliases found will be returned.
-
If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
The instance.
The or host name to query for.
An instance that contains address information about the host specified in .
In case the could not be resolved to a domain name, this method returns null,
unless is set to true, then it might throw a .
If is null.
In case is set to true and a DNS error occurs.
The GetHostEntry method does a reverse lookup on the IP ,
and queries a DNS server for the IP addresses and aliases associated with the resolved hostname.
IP addresses found are returned in .
records are used to populate the .
The property will be set to the resolved hostname of the .
The following code example uses the method to resolve an IP address to an instance.
The method has some logic to populate the list:
-
In case of sub-domain queries or similar, there might be multiple records for one ,
-
If only one is in the result set, all the aliases found will be returned.
-
If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
The instance.
The to query for.
An instance that contains address information about the host specified in .
In case the could not be resolved to a domain name, this method returns null,
unless is set to true, then it might throw a .
If is null.
In case is set to true and a DNS error occurs.
The GetHostEntryAsync method does a reverse lookup on the IP ,
and queries a DNS server for the IP addresses and aliases associated with the resolved hostname.
IP addresses found are returned in .
records are used to populate the .
The property will be set to the resolved hostname of the .
The following code example uses the method to resolve an IP address to an instance.
The method has some logic to populate the list:
-
In case of sub-domain queries or similar, there might be multiple records for one ,
-
If only one is in the result set, all the aliases found will be returned.
-
If more than one is in the result set, aliases are returned only if at least one doesn't match the queried hostname.
The instance.
The to query for.
An instance that contains address information about the host specified in .
In case the could not be resolved to a domain name, this method returns null,
unless is set to true, then it might throw a .
If is null.
In case is set to true and a DNS error occurs.
The GetHostName method queries a DNS server to resolve the hostname of the via reverse lookup.
The instance.
The to resolve.
The hostname if the reverse lookup was successful or null, in case the host was not found.
If is set to true, this method will throw an instead of returning null!
If is null.
If no host has been found and is true.
The GetHostNameAsync method queries a DNS server to resolve the hostname of the via reverse lookup.
The instance.
The to resolve.
The hostname if the reverse lookup was successful or null, in case the host was not found.
If is set to true, this method will throw an instead of returning null!
If is null.
If no host has been found and is true.
The ResolveService method does a lookup for _{}[._{}].{}
and aggregates the result (hostname, port and list of s) to a .
This method expects matching A or AAAA records to populate the ,
and/or a record to populate the property of the result.
The returned list of s and/or the hostname can be empty if no matching additional records are found.
The instance.
The base domain, which will be appended to the end of the query string.
The name of the service to look for. Must not have any _ prefix.
The protocol of the service to query for.
Set it to or to not pass any protocol.
A collection of s.
If or are null.
RFC 2782
The ResolveServiceAsync method does a lookup for _{}[._{}].{}
and aggregates the result (hostname, port and list of s) to a .
This method expects matching A or AAAA records to populate the ,
and/or a record to populate the property of the result.
The returned list of s and/or the hostname can be empty if no matching additional records are found.
The instance.
The base domain, which will be appended to the end of the query string.
The name of the service to look for. Must not have any _ prefix.
The protocol of the service to query for.
Set it to or to not pass any protocol.
A collection of s.
If or are null.
RFC 2782
The ResolveService method does a lookup for _{}[._{}].{}
and aggregates the result (hostname, port and list of s) to a .
This method expects matching A or AAAA records to populate the ,
and/or a record to populate the property of the result.
The returned list of s and/or the hostname can be empty if no matching additional records are found.
The instance.
The base domain, which will be appended to the end of the query string.
The name of the service to look for. Must not have any _ prefix.
An optional tag. Must not have any _ prefix.
A collection of s.
If or are null.
RFC 2782
The ResolveServiceAsync method does a lookup for _{}[._{}].{}
and aggregates the result (hostname, port and list of s) to a .
This method expects matching A or AAAA records to populate the ,
and/or a record to populate the property of the result.
The returned list of s and/or the hostname can be empty if no matching additional records are found.
The instance.
The base domain, which will be appended to the end of the query string.
The name of the service to look for. Must not have any _ prefix.
An optional tag. Must not have any _ prefix.
A collection of s.
If or are null.
RFC 2782
Extends by the property.
Gets or sets the port.
The port.
The response returned by any query performed by with all answer sections, header and message information.
The class transports information of the lookup query performed by .
A list of questions is returned by (although, the list will always contain only one ).
Gets the domain name the lookup was runnig for.
The name of the query.
Gets the question class.
The question class.
Gets the type of the question.
The type of the question.
Initializes a new instance of the class.
The query.
Type of the question.
The question class.
If is null.
Initializes a new instance of the class.
The query.
Type of the question.
The question class.
If is null.
Returns the information of this instance in a friendly format with an optional .
The optional offset which can be used for pretty printing.
The string representation of this instance.
Represents a simple request message which can be send through .
Response codes of the .
RFC 6895
No error condition
RFC 1035
Format error. The name server was unable to interpret the query.
RFC 1035
Server failure. The name server was unable to process this query due to a problem with the name server.
RFC 1035
Name Error. Meaningful only for responses from an authoritative name server,
this code signifies that the domain name referenced in the query does not exist.
RFC 1035
Not Implemented. The name server does not support the requested kind of query.
RFC 1035
Refused. The name server refuses to perform the specified operation for policy reasons.
For example, a name server may not wish to provide the information to the particular requester,
or a name server may not wish to perform a particular operation (e.g., zone transfer) for particular data.
RFC 1035
Name Exists when it should not.
RFC 2136
Resource record set exists when it should not.
RFC 2136
Resource record set that should exist but does not.
RFC 2136
Server Not Authoritative for zone / Not Authorized.
RFC 2136
RFC 2845
Name not contained in zone.
RFC 2136
Bad OPT Version or TSIG Signature Failure.
RFC 2671
RFC 2845
Key not recognized.
RFC 2845
Signature out of time window.
RFC 2845
Bad TKEY Mode.
RFC 2930
Duplicate key name.
RFC 2930
Algorithm not supported.
RFC 2930
Bad Truncation.
RFC 4635
Bad/missing Server Cookie
RFC 7873
Unknown error.
Indicates a timeout error. Connection to the remote server couldn't be established.
A DnsClient specific exception transporting additional information about the query causing this exception.
Gets the response code.
The response code.
Gets the audit trail if . as set to true, null otherwise.
The audit trail.
Gets a human readable error message.
The error message.
Initializes a new instance of the class
with set to .
Initializes a new instance of the class
with set to
and a custom .
Initializes a new instance of the class
with the standard error text for the given .
Initializes a new instance of the class
with set to
and a custom and inner .
Initializes a new instance of the class
with a custom and the given .
Initializes a new instance of the class
with a custom and the given .
The header section of a .
Gets the number of additional records in the .
The number of additional records.
Gets the number of answer records in the .
The number of answer records.
Gets a value indicating whether the future use flag is set.
The future use flag.
Gets a value indicating whether this instance has authority answers.
true if this instance has authority answers; otherwise, false.
Gets the identifier.
The identifier.
Gets a value indicating whether the result is authentic data.
true if the result is authentic; otherwise, false.
Gets a value indicating whether checking is disabled.
true if checking is disabled; otherwise, false.
Gets a value indicating whether this instance has a query.
true if this instance has a query; otherwise, false.
Gets the number of name servers.
The number of name servers.
Gets the kind of query defined by .
The query kind.
Gets the number of questions of the .
The number of questions.
Gets a value indicating whether recursion is available on the DNS server.
true if recursion is available; otherwise, false.
Gets the response code.
The response code.
Gets a value indicating whether the result was truncated.
true if the result was truncated; otherwise, false.
Gets a value indicating whether recursion desired flag was set by the request.
true if the recursion desired flag was set; otherwise, false.
Initializes a new instance of the class.
The identifier.
The flags.
The question count.
The answer count.
The additional count.
The server count.
Returns a that represents this instance.
A that represents this instance.
Gets the readonly representation of this message which can be returned.
The type is used to normalize and validate domain names and labels.
The ACE prefix indicates that the domain name label contains not normally supported characters and that the label has been endoded.
The maximum lenght in bytes for one label.
The maximum supported total length in bytes for a domain nanme. The calculation of the actual
bytes this consumes includes all bytes used for to encode it as octet string.
The root label ".".
Gets the orginal value.
Gets the validated and eventually modified value.
Performs an implicit conversion from to .
The name.
The result of the conversion.
Parses the given and validates all labels.
An empty string will be interpreted as root label.
A domain name.
The representing the given .
If is null.
Transforms names with the to the unicode variant and adds a trailing '.' at the end if not present.
The original value will be kept in this instance in case it is needed.
The method does not parse the domain name unless it contains a .
The value to check.
The representation.
Generic contract to query DNS endpoints. Implemented by .
Performs a DNS lookup for and .
The domain name query.
The .
The which contains the response headers and lists of resource records.
Performs a DNS lookup for , and .
The domain name query.
The .
The .
The which contains the response headers and lists of resource records.
Performs a DNS lookup for and .
The domain name query.
The .
The which contains the response headers and lists of resource records.
Performs a DNS lookup for , and .
The domain name query.
The .
The .
The which contains the response headers and lists of resource records.
Performs a DNS lookup for and .
The domain name query.
The .
The cancellation token.
The which contains the response headers and lists of resource records.
Performs a DNS lookup for , and .
The domain name query.
The .
The .
The cancellation token.
The which contains the response headers and lists of resource records.
Does a reverse lookup of the .
The .
The which should contain the .
Does a reverse lookup of the .
The .
The which should contain the .
Does a reverse lookup of the .
The .
The cancellation token.
The which should contain the .
Contract defining the result of a query performed by .
Gets the list of questions.
Gets a list of additional records.
Gets a list of all answers, addtional and authority records.
Gets a list of answer records.
Gets a list of authority records.
Gets the audit trail if . as set to true, null otherwise.
The audit trail.
Returns a string value representing the error response code in case an error occured,
otherwise ''.
A flag indicating if the header contains a response codde other than .
Gets the header of the response.
Gets the size of the message.
The size of the message.
Gets the name server which responded with this result.
The name server.
The contract for the LookupClient including all the options.
The interfaces for the query methods and the lookup client properties are separated so that one can
inject or expose only the without exposing the configuration options.
If enabled, each will contain a full documentation of the response in zone file format.
Gets or sets a flag indicating if the should use response caching or not.
The cache duration is calculated by the resource record of the response. Usually, the lowest TTL is used.
In case the DNS Server returns records with a TTL of zero. The response cannot be cached.
Setting can overwrite this behavior and cache those responses anyways for at least the given duration.
Gets or sets a which can override the TTL of a resource record in case the
TTL of the record is lower than this minimum value.
This is useful in cases where the server retruns records with zero TTL.
This setting gets igonred in case is set to false.
Gets the list of configured name servers.
Gets or sets a flag indicating if DNS queries should instruct the DNS server to do recursive lookups, or not.
The flag indicating if recursion should be used or not.
Gets or sets number of tries to connect to one name server before trying the next one or throwing an exception.
Gets or sets the number of retries the client can perform in connection or timeout errors during query operations.
If set to 0, no retries will be performed.
The number of alloed retries before exceptions will bubble up.
Gets or sets a flag indicating if the should throw an if
a query result has a other than .
If set to false, the 's flag can be expected.
The will contain more information and the transports the
original .
If set to true, any query method of will throw an if
the response header indicates an error. The actual code and message can be accessed via and of the .
Gets or sets the timeout in milliseconds. is used for limiting the connection and request time for one operation.
Timeout must be greater than zero and less than .
If set to (or -1), no timeout will be applied.
If set too short, queries will more likely result in s.
Important to note, s will be retried, if are not disabled.
This should help in case one or more configured DNS servers are not reachable or under load for example.
Gets or sets a flag indicating if Tcp should not be used in case a Udp response is truncated.
If true, truncated results will potentially yield no answers.
Gets or sets a flag indicating if Udp should not be used at all.
Use this only if Udp cannot be used because of your firewall rules for example.
The is the main query class of this library and should be used for any kind of DNS lookup query.
It implements and which contains a number of extension methods, too.
The extension methods internally all invoke the standard queries though.
A basic example wihtout specifying any DNS server, which will use the DNS server configured by your local network.
Creates a new instance of without specifying any name server.
This will implicitly use the name server(s) configured by the local network adapter.
This uses .
The resulting list of name servers is highly dependent on the local network configuration and OS.
In the following example, we will create a new without explicitly defining any DNS server.
This will use the DNS server configured by your local network.
Creates a new instance of with one or more DNS servers identified by their .
The default port 53 will be used for all s provided.
The (s) to be used by this instance.
To connect to one or more DNS server using the default port, we can use this overload:
Create a new instance of with one DNS server defined by and .
The of the DNS server.
The port of the DNS server.
In case you want to connect to one specific DNS server which does not run on the default port 53, you can do so like in the following example:
Creates a new instance of with one or more and port combination
stored in (s).
The (s) to be used by this instance.
In this example, we instantiate a new using an and custom port which is different than the default port 53.
The class also contains pre defined s for the public google DNS servers, which can be used as follows:
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
The behavior of the query can be controlled by the properties of this instance.
for example can be disabled and would instruct the DNS server to return no additional records.
Represents a name server instance used by .
Also, comes with some static methods to resolve name servers from the local network configuration.
The default DNS server port.
The public google DNS IPv4 endpoint.
The second public google DNS IPv6 endpoint.
The public google DNS IPv6 endpoint.
The second public google DNS IPv6 endpoint.
Initializes a new instance of the class.
The endpoint.
Initializes a new instance of the class.
The endpoint.
If is null.
Gets a value indicating whether this is enabled.
The instance might get disabled if encounters problems to connect to it.
true if enabled; otherwise, false.
Gets the endpoint of this instance.
The endpoint.
Gets the size of the supported UDP payload.
This value might get updated by by reading the options records returned by a query.
The size of the supported UDP payload.
Returns a that represents this instance.
A that represents this instance.
Gets a list of name servers by iterating over the available network interfaces.
If is enabled, this method will return the google public dns endpoints if no
local DNS server was found.
If set to true local IPv6 sites are skiped.
If set to true the public Google DNS servers are returned if no other servers could be found.
The list of name servers.
CLASS fields appear in resource records.
The Internet.
The CSNET class (Obsolete - used only for examples in some obsolete RFCs).
The CHAOS class.
Hesiod [Dyer 87].
The query type field appear in the question part of a query.
Query types are a superset of .
A host address.
RFC 1035
An authoritative name server.
RFC 1035
A mail destination (OBSOLETE - use MX).
RFC 1035
A mail forwarder (OBSOLETE - use MX).
RFC 1035
The canonical name for an alias.
RFC 1035
Marks the start of a zone of authority.
RFC 1035
A mailbox domain name (EXPERIMENTAL).
RFC 1035
A mail group member (EXPERIMENTAL).
RFC 1035
A mailbox rename domain name (EXPERIMENTAL).
RFC 1035
A Null resource record (EXPERIMENTAL).
RFC 1035
A well known service description.
RFC 3232
A domain name pointer.
RFC 1035
Host information.
RFC 1035
RFC 1010
Mailbox or mail list information.
RFC 1035
Mail exchange.
RFC 1035
RFC 974
Text resources.
RFC 1035
RFC 1464
Responsible Person.
RFC 1183
AFS Data Base location.
RFC 1183
RFC 5864
An IPv6 host address.
RFC 3596
A resource record which specifies the location of the server(s) for a specific protocol and domain.
RFC 2782
RRSIG rfc3755.
RFC 3755
Generic any query *.
A Uniform Resource Identifier (URI) resource record.
RFC 7553
A certification authority authorization.
RFC 6844
Used for debugging at the moment, might be removed in a future release.
The number of byte array allocations.
The number of byte arrays released.
The number of resolved queries.
The number of resolve query tries.
The number of created clients.
Helper for reading config files where each row is a key-value data pair.
The input key-values must not have any whitespace within them.
Keys are only matched if they begin a line, with no preceding whitespace.
Constructs a new RowConfigReader which reads from the given string.
The string to parse through.
Constructs a new RowConfigReader which reads from the given string.
The string to parse through.
The comparison kind to use.
Gets the next occurrence of the given key, from the current position of the reader,
or throws if no occurrence of the key exists in the remainder of the string.
Tries to get the next occurrence of the given key from the current position of the reader.
If successful, returns true and stores the result in 'value'. Otherwise, returns false.
Gets the next occurrence of the key in the string, and parses it as an Int32.
Throws if the key is not found in the remainder of the string, or if the key
cannot be successfully parsed into an Int32.
This is mainly provided as a helper because most Linux config/info files
store integral data.
Reads the value of the first occurrence of the given key contained in the string given.
The key-value row configuration string.
The key to find.
The value of the row containing the first occurrence of the key.
Extension methods for .
Translates a IPv4 or IPv6 into an arpa address.
Used for reverse DNS lookup to get the domain name of the given .
The address to translate.
The arpa representation of the address.
Extension methods for where T is .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s only.
The records.
The list of .
Filters the elements of an to return s
which have the .
The records.
The to filter for.
The list of .