Class Network
Provides miscellaneous network utilities such as a Public IP finder, a DNS client to query DNS records of any kind, and an NTP client.
Inherited Members
Namespace: Swan.Net
Syntax
public static class Network
Fields
DnsDefaultPort
The DNS default port.
Declaration
public const int DnsDefaultPort = 53
Field Value
Type | Description |
---|---|
Int32 |
NtpDefaultPort
The NTP default port.
Declaration
public const int NtpDefaultPort = 123
Field Value
Type | Description |
---|---|
Int32 |
Properties
DomainName
Gets the name of the network domain.
Declaration
public static string DomainName { get; }
Property Value
Type | Description |
---|---|
String | The name of the network domain. |
HostName
Gets the name of the host.
Declaration
public static string HostName { get; }
Property Value
Type | Description |
---|---|
String | The name of the host. |
Methods
GetDnsHostEntryAsync(String)
Gets the DNS host entry (a list of IP addresses) for the domain name.
Declaration
public static Task<IPAddress[]> GetDnsHostEntryAsync(string fqdn)
Parameters
Type | Name | Description |
---|---|---|
String | fqdn | The FQDN. |
Returns
Type | Description |
---|---|
Task<IPAddress[]> | An array of local ip addresses of the result produced by this task. |
GetDnsHostEntryAsync(String, IPAddress, Int32)
Gets the DNS host entry (a list of IP addresses) for the domain name.
Declaration
public static Task<IPAddress[]> GetDnsHostEntryAsync(string fqdn, IPAddress dnsServer, int port)
Parameters
Type | Name | Description |
---|---|---|
String | fqdn | The FQDN. |
IPAddress | dnsServer | The DNS server. |
Int32 | port | The port. |
Returns
Type | Description |
---|---|
Task<IPAddress[]> | An array of local ip addresses of the result produced by this task. |
Exceptions
Type | Condition |
---|---|
ArgumentNullException | fqdn. |
GetDnsPointerEntryAsync(IPAddress)
Gets the reverse lookup FQDN of the given IP Address.
Declaration
public static Task<string> GetDnsPointerEntryAsync(IPAddress query)
Parameters
Type | Name | Description |
---|---|---|
IPAddress | query | The query. |
Returns
Type | Description |
---|---|
Task<String> | A String that represents the current object. |
GetDnsPointerEntryAsync(IPAddress, IPAddress, Int32)
Gets the reverse lookup FQDN of the given IP Address.
Declaration
public static Task<string> GetDnsPointerEntryAsync(IPAddress query, IPAddress dnsServer, int port)
Parameters
Type | Name | Description |
---|---|---|
IPAddress | query | The query. |
IPAddress | dnsServer | The DNS server. |
Int32 | port | The port. |
Returns
Type | Description |
---|---|
Task<String> | A String that represents the current object. |
GetIPv4Addresses(NetworkInterfaceType, Boolean, Boolean)
Retrieves the local ip addresses.
Declaration
public static IPAddress[] GetIPv4Addresses(NetworkInterfaceType interfaceType, bool skipTypeFilter = false, bool includeLoopback = false)
Parameters
Type | Name | Description |
---|---|---|
NetworkInterfaceType | interfaceType | Type of the interface. |
Boolean | skipTypeFilter | if set to |
Boolean | includeLoopback | if set to |
Returns
Type | Description |
---|---|
IPAddress[] | An array of local ip addresses. |
GetIPv4Addresses(Boolean)
Retrieves the local ip addresses.
Declaration
public static IPAddress[] GetIPv4Addresses(bool includeLoopback = true)
Parameters
Type | Name | Description |
---|---|---|
Boolean | includeLoopback | if set to |
Returns
Type | Description |
---|---|
IPAddress[] | An array of local ip addresses. |
GetIPv4DnsServers()
Gets the configured IPv4 DNS servers for the active network interfaces.
Declaration
public static IPAddress[] GetIPv4DnsServers()
Returns
Type | Description |
---|---|
IPAddress[] | A collection of NetworkInterface/IPInterfaceProperties pairs that represents the active IPv4 interfaces. |
GetIPv4Interfaces()
Gets the active IPv4 interfaces. Only those interfaces with a valid unicast address and a valid gateway will be returned in the collection.
Declaration
public static Dictionary<NetworkInterface, IPInterfaceProperties> GetIPv4Interfaces()
Returns
Type | Description |
---|---|
Dictionary<NetworkInterface, IPInterfaceProperties> | A collection of NetworkInterface/IPInterfaceProperties pairs that represents the active IPv4 interfaces. |
GetNetworkTimeUtcAsync(IPAddress, Int32)
Gets the UTC time by querying from an NTP server.
Declaration
public static Task<DateTime> GetNetworkTimeUtcAsync(IPAddress ntpServerAddress, int port = 123)
Parameters
Type | Name | Description |
---|---|---|
IPAddress | ntpServerAddress | The NTP server address. |
Int32 | port | The port. |
Returns
Type | Description |
---|---|
Task<DateTime> | The UTC time by querying from an NTP server of the result produced by this Task. |
GetNetworkTimeUtcAsync(String, Int32)
Gets the UTC time by querying from an NTP server.
Declaration
public static Task<DateTime> GetNetworkTimeUtcAsync(string ntpServerName = "pool.ntp.org", int port = 123)
Parameters
Type | Name | Description |
---|---|---|
String | ntpServerName | The NTP server, by default pool.ntp.org. |
Int32 | port | The port, by default NTP 123. |
Returns
Type | Description |
---|---|
Task<DateTime> | The UTC time by querying from an NTP server of the result produced by this Task. |
GetPublicIPAddressAsync(CancellationToken)
Gets the public IP address using ipify.org.
Declaration
public static Task<IPAddress> GetPublicIPAddressAsync(CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type | Name | Description |
---|---|---|
CancellationToken | cancellationToken | The cancellation token. |
Returns
Type | Description |
---|---|
Task<IPAddress> | A public IP address of the result produced by this Task. |
QueryDnsAsync(String, DnsRecordType)
Queries the DNS server for the specified record type.
Declaration
public static Task<DnsQueryResult> QueryDnsAsync(string query, DnsRecordType recordType)
Parameters
Type | Name | Description |
---|---|---|
String | query | The query. |
DnsRecordType | recordType | Type of the record. |
Returns
Type | Description |
---|---|
Task<DnsQueryResult> | Queries the DNS server for the specified record type of the result produced by this Task. |
QueryDnsAsync(String, DnsRecordType, IPAddress, Int32)
Queries the DNS server for the specified record type.
Declaration
public static Task<DnsQueryResult> QueryDnsAsync(string query, DnsRecordType recordType, IPAddress dnsServer, int port)
Parameters
Type | Name | Description |
---|---|---|
String | query | The query. |
DnsRecordType | recordType | Type of the record. |
IPAddress | dnsServer | The DNS server. |
Int32 | port | The port. |
Returns
Type | Description |
---|---|
Task<DnsQueryResult> | Queries the DNS server for the specified record type of the result produced by this Task. |