IPInterfaceProperties Class

 

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

Namespace:   System.Net.NetworkInformation
Assembly:  System (in System.dll)

System.Object
  System.Net.NetworkInformation.IPInterfaceProperties

public abstract class IPInterfaceProperties

NameDescription
System_CAPS_protmethodIPInterfaceProperties()

Initializes a new instance of the IPInterfaceProperties class.

NameDescription
System_CAPS_pubpropertyAnycastAddresses

Gets the anycast IP addresses assigned to this interface.

System_CAPS_pubpropertyDhcpServerAddresses

Gets the addresses of Dynamic Host Configuration Protocol (DHCP) servers for this interface.

System_CAPS_pubpropertyDnsAddresses

Gets the addresses of Domain Name System (DNS) servers for this interface.

System_CAPS_pubpropertyDnsSuffix

Gets the Domain Name System (DNS) suffix associated with this interface.

System_CAPS_pubpropertyGatewayAddresses

Gets the IPv4 network gateway addresses for this interface.

System_CAPS_pubpropertyIsDnsEnabled

Gets a Boolean value that indicates whether NetBt is configured to use DNS name resolution on this interface.

System_CAPS_pubpropertyIsDynamicDnsEnabled

Gets a Boolean value that indicates whether this interface is configured to automatically register its IP address information with the Domain Name System (DNS).

System_CAPS_pubpropertyMulticastAddresses

Gets the multicast addresses assigned to this interface.

System_CAPS_pubpropertyUnicastAddresses

Gets the unicast addresses assigned to this interface.

System_CAPS_pubpropertyWinsServersAddresses

Gets the addresses of Windows Internet Name Service (WINS) servers.

NameDescription
System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetIPv4Properties()

Provides Internet Protocol version 4 (IPv4) configuration data for this network interface.

System_CAPS_pubmethodGetIPv6Properties()

Provides Internet Protocol version 6 (IPv6) configuration data for this network interface.

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

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
Available since 2.0

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: