NetworkInterface Класс

Определение

Предоставляет сведения о конфигурации и статистических данных для сетевого интерфейса.

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
Наследование
NetworkInterface

Примеры

В следующем примере кода отображаются сведения об интерфейсах.

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

Комментарии

Этот класс инкапсулирует данные для сетевых интерфейсов, также известных как адаптеры на локальном компьютере. Экземпляры этого класса не создаются; GetAllNetworkInterfaces Метод возвращает массив, содержащий один экземпляр этого класса для каждого сетевого интерфейса на локальном компьютере.

Конструкторы

Имя Описание
NetworkInterface()

Инициализирует новый экземпляр класса NetworkInterface.

Свойства

Имя Описание
Description

Возвращает описание интерфейса.

Id

Возвращает идентификатор сетевого адаптера.

IPv6LoopbackInterfaceIndex

Возвращает индекс интерфейса IPv6 loopback.

IsReceiveOnly

Возвращает значение, указывающее, задан ли сетевой Boolean интерфейс только для получения пакетов данных.

LoopbackInterfaceIndex

Возвращает индекс интерфейса IPv4 loopback.

Name

Возвращает имя сетевого адаптера.

NetworkInterfaceType

Возвращает тип интерфейса.

OperationalStatus

Возвращает текущее рабочее состояние сетевого подключения.

Speed

Получает скорость сетевого интерфейса.

SupportsMulticast

Boolean Возвращает значение, указывающее, включен ли сетевой интерфейс для получения пакетов многоадресной рассылки.

Методы

Имя Описание
GetAllNetworkInterfaces()

Возвращает объекты, описывающие сетевые интерфейсы на локальном компьютере.

GetIPProperties()

Возвращает объект, описывающий конфигурацию этого сетевого интерфейса.

GetIPStatistics()

Возвращает статистику IP-адресов для этого NetworkInterface экземпляра.

GetIPv4Statistics()

Возвращает статистику IPv4 для этого NetworkInterface экземпляра.

GetIsNetworkAvailable()

Указывает, доступен ли сетевое подключение.

GetPhysicalAddress()

Возвращает контроль доступа мультимедиа (MAC) или физический адрес для этого адаптера.

Supports(NetworkInterfaceComponent)

Boolean Возвращает значение, указывающее, поддерживает ли интерфейс указанный протокол.

Применяется к