Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

IPInterfaceProperties Class

Provides information about network interfaces that support Internet Protocol version 4 (IPv4) or Internet Protocol version 6 (IPv6).

System.Object
  System.Net.NetworkInformation.IPInterfaceProperties

Namespace:  System.Net.NetworkInformation
Assembly:  System (in System.dll)
public abstract class IPInterfaceProperties

The IPInterfaceProperties type exposes the following members.

  NameDescription
Protected methodIPInterfacePropertiesInitializes a new instance of the IPInterfaceProperties class.
Top
  NameDescription
Public propertyAnycastAddressesGets the anycast IP addresses assigned to this interface.
Public propertyDhcpServerAddressesGets the addresses of Dynamic Host Configuration Protocol (DHCP) servers for this interface.
Public propertyDnsAddressesGets the addresses of Domain Name System (DNS) servers for this interface.
Public propertyDnsSuffixGets the Domain Name System (DNS) suffix associated with this interface.
Public propertyGatewayAddressesGets the IPv4 network gateway addresses for this interface.
Public propertyIsDnsEnabledGets a Boolean value that indicates whether NetBt is configured to use DNS name resolution on this interface.
Public propertyIsDynamicDnsEnabledGets a Boolean value that indicates whether this interface is configured to automatically register its IP address information with the Domain Name System (DNS).
Public propertyMulticastAddressesGets the multicast addresses assigned to this interface.
Public propertyUnicastAddressesGets the unicast addresses assigned to this interface.
Public propertyWinsServersAddressesGets the addresses of Windows Internet Name Service (WINS) servers.
Top
  NameDescription
Public methodEquals(Object)Determines whether the specified object is equal to the current object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as the default hash function. (Inherited from Object.)
Public methodGetIPv4PropertiesProvides Internet Protocol version 4 (IPv4) configuration data for this network interface.
Public methodGetIPv6PropertiesProvides Internet Protocol version 6 (IPv6) configuration data for this network interface.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top

This class provides access to configuration and address information for network interfaces that support IPv4 or IPv6. You do not create instances of this class; they are returned by the GetIPProperties method.

To access IPv4-specific properties, use the object returned by the GetIPv4Properties method. To access IPv6-specific properties, use the object returned by the GetIPv6Properties method.

The following code example displays address information.

public static void ShowIPAddresses(IPInterfaceProperties adapterProperties)
{
    IPAddressCollection dnsServers = adapterProperties.DnsAddresses;
    if (dnsServers != null)
    {
        foreach (IPAddress dns in dnsServers)
        {
            Console.WriteLine("  DNS Servers ............................. : {0}", 
                dns.ToString()
           );
        }
    }
    IPAddressInformationCollection anyCast = adapterProperties.AnycastAddresses;
    if (anyCast != null)
    {
        foreach (IPAddressInformation any in anyCast)
        {
            Console.WriteLine("  Anycast Address .......................... : {0} {1} {2}", 
                any.Address,
                any.IsTransient ? "Transient" : "", 
                any.IsDnsEligible ? "DNS Eligible" : ""
            );
        }
        Console.WriteLine();
    }

    MulticastIPAddressInformationCollection multiCast = adapterProperties.MulticastAddresses;
    if (multiCast != null)
    {
        foreach (IPAddressInformation multi in multiCast)
        {
            Console.WriteLine("  Multicast Address ....................... : {0} {1} {2}", 
                multi.Address,
                multi.IsTransient ? "Transient" : "", 
                multi.IsDnsEligible ? "DNS Eligible" : ""
            );
        }
        Console.WriteLine();
    }
    UnicastIPAddressInformationCollection uniCast = adapterProperties.UnicastAddresses;
    if (uniCast != null)
    {
        string lifeTimeFormat = "dddd, MMMM dd, yyyy  hh:mm:ss tt";
        foreach (UnicastIPAddressInformation uni in uniCast)
        {
            DateTime when;

            Console.WriteLine("  Unicast Address ......................... : {0}", uni.Address);
            Console.WriteLine("     Prefix Origin ........................ : {0}", uni.PrefixOrigin);
            Console.WriteLine("     Suffix Origin ........................ : {0}", uni.SuffixOrigin);
            Console.WriteLine("     Duplicate Address Detection .......... : {0}", 
                uni.DuplicateAddressDetectionState);

            // Format the lifetimes as Sunday, February 16, 2003 11:33:44 PM 
            // if en-us is the current culture. 

            // Calculate the date and time at the end of the lifetimes.    
            when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressValidLifetime);
            when = when.ToLocalTime();    
            Console.WriteLine("     Valid Life Time ...................... : {0}", 
                when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
            );
            when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.AddressPreferredLifetime);   
            when = when.ToLocalTime();      
            Console.WriteLine("     Preferred life time .................. : {0}", 
                when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
            ); 

            when = DateTime.UtcNow + TimeSpan.FromSeconds(uni.DhcpLeaseLifetime);
            when = when.ToLocalTime(); 
            Console.WriteLine("     DHCP Leased Life Time ................ : {0}", 
                when.ToString(lifeTimeFormat,System.Globalization.CultureInfo.CurrentCulture)
            );
        }
        Console.WriteLine();
    }
}

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.