NetworkInterface Classe

Definição

Fornece informações estatísticas e de configuração para um adaptador 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 exemplo de código a seguir exibe 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();
    }
}

Comentários

Essa classe encapsula dados para adaptadores de rede, também conhecidos como adaptadores, no computador local. Você não cria instâncias dessa classe; o GetAllNetworkInterfaces método retorna uma matriz que contém uma instância dessa classe para cada interface de rede no computador local.

Construtores

Nome Description
NetworkInterface()

Inicializa uma nova instância da classe NetworkInterface.

Propriedades

Nome Description
Description

Obtém 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

Obtém um Boolean valor que indica se o adaptador de rede está definido 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

Obtém o tipo de interface.

OperationalStatus

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

Speed

Obtém a velocidade do adaptador de rede.

SupportsMulticast

Obtém um Boolean valor que indica se o adaptador de rede está habilitado para receber pacotes multicast.

Métodos

Nome Description
GetAllNetworkInterfaces()

Retorna objetos que descrevem os adaptadores de rede no computador local.

GetIPProperties()

Retorna um objeto que descreve a configuração desse adaptador de rede.

GetIPStatistics()

Obtém as estatísticas de IP para essa NetworkInterface instância.

GetIPv4Statistics()

Obtém as estatísticas IPv4 para essa NetworkInterface instância.

GetIsNetworkAvailable()

Indica se alguma conexão de rede está disponível.

GetPhysicalAddress()

Retorna o MAC (Controle de Acesso de Mídia) ou o endereço físico desse adaptador.

Supports(NetworkInterfaceComponent)

Obtém um Boolean valor que indica se a interface dá suporte ao protocolo especificado.

Aplica-se a