NetworkInterface Classe

Definição

Fornece informação de configuração e estatísticas para uma interface de rede.

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
Herança
NetworkInterface

Exemplos

O seguinte exemplo de código apresenta informações sobre interfaces.

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();
    }
}

Observações

Esta classe encapsula dados para interfaces de rede, também conhecidas como adaptadores, no computador local. Não se criam instâncias desta classe; O GetAllNetworkInterfaces método devolve um array que contém uma instância desta classe para cada interface de rede no computador local.

Construtores

Name Description
NetworkInterface()

Inicializa uma nova instância da NetworkInterface classe.

Propriedades

Name Description
Description

Recebe a descrição da interface.

Id

Obtém o identificador do adaptador de rede.

IPv6LoopbackInterfaceIndex

Obtém o índice da interface de loopback IPv6.

IsReceiveOnly

Recebe um Boolean valor que indica se a interface de rede está configurada para receber apenas pacotes de dados.

LoopbackInterfaceIndex

Obtém o índice da interface de loopback IPv4.

Name

Obtém o nome do adaptador de rede.

NetworkInterfaceType

Recebe o tipo de interface.

OperationalStatus

Obtém o estado operacional atual da ligação de rede.

Speed

Obtém a velocidade da interface de rede.

SupportsMulticast

Recebe um Boolean valor que indica se a interface de rede está ativada para receber pacotes multicast.

Métodos

Name Description
GetAllNetworkInterfaces()

Devolve objetos que descrevem as interfaces de rede no computador local.

GetIPProperties()

Devolve um objeto que descreve a configuração desta interface de rede.

GetIPStatistics()

Obtém as estatísticas de propriedade intelectual neste NetworkInterface caso.

GetIPv4Statistics()

Obtém as estatísticas do IPv4 neste NetworkInterface caso.

GetIsNetworkAvailable()

Indica se existe alguma ligação de rede disponível.

GetPhysicalAddress()

Devolve o Media Controlo de Acesso (MAC) ou endereço físico para este adaptador.

Supports(NetworkInterfaceComponent)

Recebe um Boolean valor que indica se a interface suporta o protocolo especificado.

Aplica-se a