NetworkInterface NetworkInterface NetworkInterface NetworkInterface Class

Определение

Предоставляет конфигурацию и статистику сетевого интерфейса.Provides configuration and statistical information for a network interface.

public ref class NetworkInterface abstract
public abstract class NetworkInterface
type NetworkInterface = class
Public MustInherit Class NetworkInterface
Наследование
NetworkInterfaceNetworkInterfaceNetworkInterfaceNetworkInterface

Примеры

В следующем примере кода отображаются сведения об интерфейсах.The following code example displays information about interfaces.

void ShowNetworkInterfaces()
{
   IPGlobalProperties ^ computerProperties = IPGlobalProperties::GetIPGlobalProperties();
   array<NetworkInterface^>^nics = NetworkInterface::GetAllNetworkInterfaces();
   Console::WriteLine( "Interface information for {0}.{1}     ", computerProperties->HostName, computerProperties->DomainName );
   if ( nics == nullptr || nics->Length < 1 )
   {
      Console::WriteLine( "  No network interfaces found." );
      return;
   }

   Console::WriteLine( "  Number of interfaces .................... : {0}", nics->Length );
   System::Collections::IEnumerator^ myEnum4 = nics->GetEnumerator();
   while ( myEnum4->MoveNext() )
   {
      NetworkInterface ^ adapter = safe_cast<NetworkInterface ^>(myEnum4->Current);
      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() );
      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 = String::Concat( versions, " " );
         }
         versions = String::Concat( 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();
   }
}
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();
    }

Комментарии

Этот класс инкапсулирует данные для сетевых интерфейсов, также известных как адаптеры, на локальном компьютере.This class encapsulates data for network interfaces, also known as adapters, on the local computer. Экземпляры этого класса не создаются. GetAllNetworkInterfaces метод возвращает массив, содержащий один экземпляр этого класса для каждого сетевого интерфейса на локальном компьютере.You do not create instances of this class; the GetAllNetworkInterfaces method returns an array that contains one instance of this class for each network interface on the local computer.

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

NetworkInterface() NetworkInterface() NetworkInterface() NetworkInterface()

Инициализирует новый экземпляр класса NetworkInterface.Initializes a new instance of the NetworkInterface class.

Свойства

Description Description Description Description

Возвращает описание интерфейса.Gets the description of the interface.

Id Id Id Id

Возвращает идентификатор сетевого адаптера.Gets the identifier of the network adapter.

IPv6LoopbackInterfaceIndex IPv6LoopbackInterfaceIndex IPv6LoopbackInterfaceIndex IPv6LoopbackInterfaceIndex

Получает индекс интерфейса замыкания на себя IPv6.Gets the index of the IPv6 loopback interface.

IsReceiveOnly IsReceiveOnly IsReceiveOnly IsReceiveOnly

Возвращает значение типа Boolean, указывающее, настроен ли сетевой интерфейс только на прием пакетов данных.Gets a Boolean value that indicates whether the network interface is set to only receive data packets.

LoopbackInterfaceIndex LoopbackInterfaceIndex LoopbackInterfaceIndex LoopbackInterfaceIndex

Возвращает индекс интерфейса замыкания на себя IPv4.Gets the index of the IPv4 loopback interface.

Name Name Name Name

Возвращает имя сетевого адаптера.Gets the name of the network adapter.

NetworkInterfaceType NetworkInterfaceType NetworkInterfaceType NetworkInterfaceType

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

OperationalStatus OperationalStatus OperationalStatus OperationalStatus

Возвращает текущее операционное состояние сетевого подключения.Gets the current operational state of the network connection.

Speed Speed Speed Speed

Возвращает скорость сетевого интерфейса.Gets the speed of the network interface.

SupportsMulticast SupportsMulticast SupportsMulticast SupportsMulticast

Возвращает значение типа Boolean, указывающее, разрешен ли сетевому интерфейсу прием пакетов многоадресной рассылки.Gets a Boolean value that indicates whether the network interface is enabled to receive multicast packets.

Методы

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetAllNetworkInterfaces() GetAllNetworkInterfaces() GetAllNetworkInterfaces() GetAllNetworkInterfaces()

Возвращает объекты, описывающие сетевые интерфейсы локального компьютера.Returns objects that describe the network interfaces on the local computer.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Inherited from Object)
GetIPProperties() GetIPProperties() GetIPProperties() GetIPProperties()

Возвращает объект, описывающий конфигурацию сетевого интерфейса.Returns an object that describes the configuration of this network interface.

GetIPStatistics() GetIPStatistics() GetIPStatistics() GetIPStatistics()

Получает статистику IP для этого экземпляра NetworkInterface.Gets the IP statistics for this NetworkInterface instance.

GetIPv4Statistics() GetIPv4Statistics() GetIPv4Statistics() GetIPv4Statistics()

Получает статистику IPv4 для этого экземпляра NetworkInterface.Gets the IPv4 statistics for this NetworkInterface instance.

GetIsNetworkAvailable() GetIsNetworkAvailable() GetIsNetworkAvailable() GetIsNetworkAvailable()

Указывает, доступно ли сетевое подключение.Indicates whether any network connection is available.

GetPhysicalAddress() GetPhysicalAddress() GetPhysicalAddress() GetPhysicalAddress()

Возвращает МАС-адрес (физический адрес) данного адаптера.Returns the Media Access Control (MAC) or physical address for this adapter.

GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Supports(NetworkInterfaceComponent) Supports(NetworkInterfaceComponent) Supports(NetworkInterfaceComponent) Supports(NetworkInterfaceComponent)

Возвращает значение типа Boolean, указывающее, поддерживает ли интерфейс заданный протокол.Gets a Boolean value that indicates whether the interface supports the specified protocol.

ToString() ToString() ToString() ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Inherited from Object)

Безопасность

SecurityPermission
для исполнения неуправляемого кода.for executing unmanaged code. Связанное перечисление:UnmanagedCodeAssociated enumeration: UnmanagedCode

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