C# Class Heijden.DNS.Resolver

Resolver is the main class to do DNS query lookups
Show file Open project: sipsorcery/sipsorcery Class Usage Examples

Public Properties

Property Type Description
DefaultDnsServers List

Public Methods

Method Description
BeginGetHostEntry ( IPAddress ip, AsyncCallback requestCallback, object stateObject ) : IAsyncResult

Asynchronously resolves an IP address to an System.Net.IPHostEntry instance.

BeginGetHostEntry ( string hostNameOrAddress, AsyncCallback requestCallback, object stateObject ) : IAsyncResult

Asynchronously resolves a host name or IP address to an System.Net.IPHostEntry instance.

ClearCache ( ) : void

Clear the resolver cache

EndGetHostEntry ( IAsyncResult AsyncResult ) : IPHostEntry

Ends an asynchronous request for DNS information.

GetArpaFromIp ( IPAddress ip ) : string

Translates the IPV4 or IPV6 address into an arpa address

GetDnsServers ( ) : System.Net.IPEndPoint[]

Gets a list of default DNS servers used on the Windows machine.

GetHostEntry ( IPAddress ip ) : IPHostEntry

Resolves an IP address to an System.Net.IPHostEntry instance.

GetHostEntry ( string hostNameOrAddress ) : IPHostEntry

Resolves a host name or IP address to an System.Net.IPHostEntry instance.

Query ( string name, DNSQType qtype, QClass qclass, int timeout ) : Heijden.DNS.DNSResponse

Do Query on specified DNS servers

Query ( string name, DNSQType qtype, int timeout ) : Heijden.DNS.DNSResponse

Do an QClass=IN Query on specified DNS servers

Query ( string name, DNSQType qtype, int timeout, List dnsServers ) : Heijden.DNS.DNSResponse
QueryCache ( string name, DNSQType qtype ) : Heijden.DNS.DNSResponse

Do an QClass=IN Query on the previously cached results.

QueryCache ( string name, DNSQType qtype, QClass qclass ) : Heijden.DNS.DNSResponse

Do an QClass=IN Query on the previously cached results.

Resolver ( ) : System

Resolver constructor, using DNS servers specified by Windows

Resolver ( IPAddress ServerIpAddress, int ServerPortNumber ) : System

Constructor of Resolver using DNS server and port specified.

Resolver ( IPEndPoint DnsServers ) : System

Constructor of Resolver using DNS servers specified.

Resolver ( string ServerIpAddress ) : System

Constructor of Resolver using DNS address.

Resolver ( string ServerIpAddress, int ServerPortNumber ) : System

Constructor of Resolver using DNS address and port specified.

Private Methods

Method Description
AddToCache ( Heijden.DNS.DNSResponse response, string questionKey ) : void
GetActiveDNSServer ( ) : IPEndPoint
GetResponse ( Heijden.DNS.DNSRequest request, List dnsServers, int timeout ) : Heijden.DNS.DNSResponse
IncrementTimeoutCount ( IPEndPoint dnsServer ) : void
MakeEntry ( string HostName, int timeout ) : IPHostEntry
ResetTimeoutCount ( IPEndPoint dnsServer ) : void
SearchInCache ( Question question ) : Heijden.DNS.DNSResponse
TcpRequest ( Heijden.DNS.DNSRequest request, List dnsServers, int timeout ) : Heijden.DNS.DNSResponse

UdpRequest ( Heijden.DNS.DNSRequest request, List dnsServers, int timeout ) : Heijden.DNS.DNSResponse

Verbose ( string format ) : void

Method Details

BeginGetHostEntry() public method

Asynchronously resolves an IP address to an System.Net.IPHostEntry instance.
public BeginGetHostEntry ( IPAddress ip, AsyncCallback requestCallback, object stateObject ) : IAsyncResult
ip System.Net.IPAddress The IP address to resolve.
requestCallback AsyncCallback /// An System.AsyncCallback delegate that references the method to invoke when /// the operation is complete. ///
stateObject object /// A user-defined object that contains information about the operation. This /// object is passed to the requestCallback delegate when the operation is complete. ///
return IAsyncResult

BeginGetHostEntry() public method

Asynchronously resolves a host name or IP address to an System.Net.IPHostEntry instance.
public BeginGetHostEntry ( string hostNameOrAddress, AsyncCallback requestCallback, object stateObject ) : IAsyncResult
hostNameOrAddress string The host name or IP address to resolve.
requestCallback AsyncCallback /// An System.AsyncCallback delegate that references the method to invoke when /// the operation is complete. ///
stateObject object /// A user-defined object that contains information about the operation. This /// object is passed to the requestCallback delegate when the operation is complete. ///
return IAsyncResult

ClearCache() public method

Clear the resolver cache
public ClearCache ( ) : void
return void

EndGetHostEntry() public method

Ends an asynchronous request for DNS information.
public EndGetHostEntry ( IAsyncResult AsyncResult ) : IPHostEntry
AsyncResult IAsyncResult /// An System.IAsyncResult instance returned by a call to an /// Overload:Heijden.Dns.Resolver.BeginGetHostEntry method. ///
return System.Net.IPHostEntry

GetArpaFromIp() public static method

Translates the IPV4 or IPV6 address into an arpa address
public static GetArpaFromIp ( IPAddress ip ) : string
ip System.Net.IPAddress IP address to get the arpa address form
return string

GetDnsServers() public static method

Gets a list of default DNS servers used on the Windows machine.
public static GetDnsServers ( ) : System.Net.IPEndPoint[]
return System.Net.IPEndPoint[]

GetHostEntry() public method

Resolves an IP address to an System.Net.IPHostEntry instance.
public GetHostEntry ( IPAddress ip ) : IPHostEntry
ip System.Net.IPAddress An IP address.
return System.Net.IPHostEntry

GetHostEntry() public method

Resolves a host name or IP address to an System.Net.IPHostEntry instance.
public GetHostEntry ( string hostNameOrAddress ) : IPHostEntry
hostNameOrAddress string The host name or IP address to resolve.
return System.Net.IPHostEntry

Query() public method

Do Query on specified DNS servers
public Query ( string name, DNSQType qtype, QClass qclass, int timeout ) : Heijden.DNS.DNSResponse
name string Name to query
qtype DNSQType Question type
qclass QClass Class type
timeout int Timeout for lookup in seconds.
return Heijden.DNS.DNSResponse

Query() public method

Do an QClass=IN Query on specified DNS servers
public Query ( string name, DNSQType qtype, int timeout ) : Heijden.DNS.DNSResponse
name string Name to query
qtype DNSQType Question type
timeout int Timeout for lookup in seconds.
return Heijden.DNS.DNSResponse

Query() public method

public Query ( string name, DNSQType qtype, int timeout, List dnsServers ) : Heijden.DNS.DNSResponse
name string
qtype DNSQType
timeout int
dnsServers List
return Heijden.DNS.DNSResponse

QueryCache() public method

Do an QClass=IN Query on the previously cached results.
public QueryCache ( string name, DNSQType qtype ) : Heijden.DNS.DNSResponse
name string Name to query
qtype DNSQType Question type
return Heijden.DNS.DNSResponse

QueryCache() public method

Do an QClass=IN Query on the previously cached results.
public QueryCache ( string name, DNSQType qtype, QClass qclass ) : Heijden.DNS.DNSResponse
name string Name to query
qtype DNSQType Question type
qclass QClass
return Heijden.DNS.DNSResponse

Resolver() public method

Resolver constructor, using DNS servers specified by Windows
public Resolver ( ) : System
return System

Resolver() public method

Constructor of Resolver using DNS server and port specified.
public Resolver ( IPAddress ServerIpAddress, int ServerPortNumber ) : System
ServerIpAddress System.Net.IPAddress DNS server to use
ServerPortNumber int DNS port to use
return System

Resolver() public method

Constructor of Resolver using DNS servers specified.
public Resolver ( IPEndPoint DnsServers ) : System
DnsServers System.Net.IPEndPoint Set of DNS servers
return System

Resolver() public method

Constructor of Resolver using DNS address.
public Resolver ( string ServerIpAddress ) : System
ServerIpAddress string DNS server address to use
return System

Resolver() public method

Constructor of Resolver using DNS address and port specified.
public Resolver ( string ServerIpAddress, int ServerPortNumber ) : System
ServerIpAddress string DNS server address to use
ServerPortNumber int DNS port to use
return System

Property Details

DefaultDnsServers public static property

Gets list of OPENDNS servers
public static List DefaultDnsServers
return List