NetworkInterface Classe

Definizione

Fornisce informazioni statistiche e di configurazione per un'interfaccia di rete.

public ref class NetworkInterface abstract sealed
public ref class NetworkInterface abstract
public static class NetworkInterface
public abstract class NetworkInterface
type NetworkInterface = class
Public Class NetworkInterface
Public MustInherit Class NetworkInterface
Ereditarietà
NetworkInterface

Esempio

Nell'esempio di codice seguente vengono visualizzate informazioni sulle interfacce.

public static void ShowNetworkInterfaces()
{
    IPGlobalProperties computerProperties = IPGlobalProperties.GetIPGlobalProperties();
    NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
    Console.WriteLine("Interface information for {0}.{1}     ",
            computerProperties.HostName, computerProperties.DomainName);
    if (nics == null || nics.Length < 1)
    {
        Console.WriteLine("  No network interfaces found.");
        return;
    }

    Console.WriteLine("  Number of interfaces .................... : {0}", nics.Length);
    foreach (NetworkInterface adapter in nics)
    {
        IPInterfaceProperties properties = adapter.GetIPProperties();
        Console.WriteLine();
        Console.WriteLine(adapter.Description);
        Console.WriteLine(String.Empty.PadLeft(adapter.Description.Length,'='));
        Console.WriteLine("  Interface type .......................... : {0}", adapter.NetworkInterfaceType);
        Console.WriteLine("  Physical Address ........................ : {0}",
                   adapter.GetPhysicalAddress().ToString());
        Console.WriteLine("  Operational status ...................... : {0}",
            adapter.OperationalStatus);
        string versions ="";

        // Create a display string for the supported IP versions.
        if (adapter.Supports(NetworkInterfaceComponent.IPv4))
        {
             versions = "IPv4";
         }
        if (adapter.Supports(NetworkInterfaceComponent.IPv6))
        {
            if (versions.Length > 0)
            {
                versions += " ";
             }
            versions += "IPv6";
        }
        Console.WriteLine("  IP version .............................. : {0}", versions);
        ShowIPAddresses(properties);

        // The following information is not useful for loopback adapters.
        if (adapter.NetworkInterfaceType == NetworkInterfaceType.Loopback)
        {
            continue;
        }
        Console.WriteLine("  DNS suffix .............................. : {0}",
            properties.DnsSuffix);

        string label;
        if (adapter.Supports(NetworkInterfaceComponent.IPv4))
        {
            IPv4InterfaceProperties ipv4 = properties.GetIPv4Properties();
            Console.WriteLine("  MTU...................................... : {0}", ipv4.Mtu);
            if (ipv4.UsesWins)
            {

                IPAddressCollection winsServers = properties.WinsServersAddresses;
                if (winsServers.Count > 0)
                {
                    label = "  WINS Servers ............................ :";
                    ShowIPAddresses(label, winsServers);
                }
            }
        }

        Console.WriteLine("  DNS enabled ............................. : {0}",
            properties.IsDnsEnabled);
        Console.WriteLine("  Dynamically configured DNS .............. : {0}",
            properties.IsDynamicDnsEnabled);
        Console.WriteLine("  Receive Only ............................ : {0}",
            adapter.IsReceiveOnly);
        Console.WriteLine("  Multicast ............................... : {0}",
            adapter.SupportsMulticast);
        ShowInterfaceStatistics(adapter);

        Console.WriteLine();
    }
}

Commenti

Questa classe incapsula i dati per le interfacce di rete, note anche come schede, nel computer locale. Non si creano istanze di questa classe; Il GetAllNetworkInterfaces metodo restituisce una matrice che contiene un'istanza di questa classe per ogni interfaccia di rete nel computer locale.

Costruttori

Nome Descrizione
NetworkInterface()

Inizializza una nuova istanza della classe NetworkInterface.

Proprietà

Nome Descrizione
Description

Ottiene la descrizione dell'interfaccia.

Id

Ottiene l'identificatore della scheda di rete.

IPv6LoopbackInterfaceIndex

Ottiene l'indice dell'interfaccia di loopback IPv6.

IsReceiveOnly

Ottiene un Boolean valore che indica se l'interfaccia di rete è impostata per ricevere solo pacchetti di dati.

LoopbackInterfaceIndex

Ottiene l'indice dell'interfaccia di loopback IPv4.

Name

Ottiene il nome della scheda di rete.

NetworkInterfaceType

Ottiene il tipo di interfaccia.

OperationalStatus

Ottiene lo stato operativo corrente della connessione di rete.

Speed

Ottiene la velocità dell'interfaccia di rete.

SupportsMulticast

Ottiene un Boolean valore che indica se l'interfaccia di rete è abilitata per ricevere pacchetti multicast.

Metodi

Nome Descrizione
GetAllNetworkInterfaces()

Restituisce oggetti che descrivono le interfacce di rete nel computer locale.

GetIPProperties()

Restituisce un oggetto che descrive la configurazione di questa interfaccia di rete.

GetIPStatistics()

Ottiene le statistiche IP per questa NetworkInterface istanza.

GetIPv4Statistics()

Ottiene le statistiche IPv4 per questa NetworkInterface istanza.

GetIsNetworkAvailable()

Indica se è disponibile una connessione di rete.

GetPhysicalAddress()

Restituisce l'indirizzo mac (Media Controllo di accesso) o fisico per questa scheda.

Supports(NetworkInterfaceComponent)

Ottiene un Boolean valore che indica se l'interfaccia supporta il protocollo specificato.

Si applica a