NetworkInterface Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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. |