Класс NetworkInterface

public final class NetworkInterface
extends Object

Этот класс представляет сетевой интерфейс, состоящий из имени и списка IP-адресов, назначенных этому интерфейсу. Он используется для идентификации локального интерфейса, к которому подключена группа многоадресной рассылки. Интерфейсы обычно известны по именам, таким как "le0".

С тех пор:
1.4

Методы

Модификатор и тип Метод Описание
boolean equals​(Object obj)

Сравнивает этот объект с указанным объектом.

static NetworkInterface getByIndex​(int index)

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

static NetworkInterface getByInetAddress​(InetAddress addr)

Удобный метод для поиска сетевого интерфейса, к которому привязан указанный IP-адрес.

static NetworkInterface getByName​(String name)

Поиск сетевого интерфейса по указанному имени.

String getDisplayName()

Получение отображаемого имени этого сетевого интерфейса.

byte[] getHardwareAddress()

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

int getIndex()

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

Enumeration<InetAddress> getInetAddresses()

Получение перечисления со всеми или подмножеством InetAddresses, привязанных к этому сетевому интерфейсу.

List<InterfaceAddress> getInterfaceAddresses()

Получение списка всех или подмножества InterfaceAddresses этого сетевого интерфейса.

int getMTU()

Возвращает максимальный размер пакета (MTU) этого интерфейса.

String getName()

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

static Enumeration<NetworkInterface> getNetworkInterfaces()

Возвращает перечисление всех интерфейсов на этом компьютере.

NetworkInterface getParent()

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

Enumeration<NetworkInterface> getSubInterfaces()

Получение перечисления всех подсетевых интерфейсов (также известных как виртуальные интерфейсы), подключенных к этому сетевому интерфейсу.

Stream<InetAddress> inetAddresses()

Получение потока всех или подмножества InetAddresses, привязанных к этому сетевому интерфейсу.

boolean isLoopback()

Возвращает, является ли сетевой интерфейс интерфейсом обратной связи.

boolean isPointToPoint()

Возвращает, является ли сетевой интерфейс интерфейсом точка-точка.

boolean isUp()

Возвращает, активен ли и работает ли сетевой интерфейс.

boolean isVirtual()

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

static Stream<NetworkInterface> networkInterfaces()

Возвращает перечисление всех интерфейсов на этом компьютере.

Stream<NetworkInterface> subInterfaces()

Получение потока всех подсетевых интерфейсов (также известных как виртуальные интерфейсы), подключенных к этому сетевому интерфейсу.

boolean supportsMulticast()

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

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы

getName

public String getName()

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

Возвращает:
имя этого сетевого интерфейса

getInetAddresses

public Enumeration<InetAddress> getInetAddresses()

Получить перечисление всех или подмножества адресов InetAddress, привязанных к этому сетевому интерфейсу.

Если установлен менеджер безопасности, то для каждого InetAddress вызывается его метод checkConnect. Будут возвращены только те InetAddresses, для которых метод checkConnect не вызывает SecurityException. Однако, если у вызывающего метода есть разрешение NetPermission("getNetworkInformation"), то возвращаются все InetAddresses.

Возвращает:
объект перечисления со всеми или подмножеством адресов InetAddress, привязанных к этому сетевому интерфейсу
См. также:
inetAddresses()

inetAddresses

public Stream<InetAddress> inetAddresses()

Получить поток всех или подмножества адресов InetAddresses, привязанных к этому сетевому интерфейсу.

Если установлен менеджер безопасности, то для каждого InetAddress вызывается его метод checkConnect. В поток будут возвращены только те InetAddresses, для которых метод checkConnect не вызывает SecurityException. Однако, если у вызывающего метода есть разрешение NetPermission("getNetworkInformation"), то возвращаются все InetAddresses.

Возвращает:
объект потока со всеми или подмножеством адресов InetAddresses, привязанных к этому сетевому интерфейсу
С:
9

getInterfaceAddresses

public List<InterfaceAddress> getInterfaceAddresses()

Получить список всех или подмножества адресов InterfaceAddresses этого сетевого интерфейса.

Если установлен менеджер безопасности, то для каждого InterfaceAddress вызывается его метод checkConnect с адресом InetAddress. В список будут возвращены только те InterfaceAddresses, для которых метод checkConnect не вызывает SecurityException.

Возвращает:
объект списка со всеми или подмножеством адресов InterfaceAddress этого сетевого интерфейса
С:
1.6

getSubInterfaces

public Enumeration<NetworkInterface> getSubInterfaces()

Получить перечисление всех подсетевых интерфейсов (также известных как виртуальные интерфейсы), подключенных к этому сетевому интерфейсу.

Например, eth0:1 будет подсетевым интерфейсом к eth0.

Возвращает:
объект перечисления со всеми подсетевыми интерфейсами этого сетевого интерфейса
С:
1.6
См. также:
subInterfaces()

subInterfaces

public Stream<NetworkInterface> subInterfaces()

Получить поток всех подсетевых интерфейсов (также известных как виртуальные интерфейсы), подключенных к этому сетевому интерфейсу.

Возвращает:
объект потока со всеми подсетевыми интерфейсами этого сетевого интерфейса
С:
9

getParent

public NetworkInterface getParent()

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

Возвращает:
родительский интерфейс, к которому подключен этот интерфейс.
С:
1.6

getIndex

public int getIndex()

Возвращает индекс этого сетевого интерфейса. Индекс — целое число, большее или равное нулю, или -1 для неизвестного значения. Это значение зависит от системы, и интерфейсы с одинаковым именем могут иметь разные индексы на разных машинах.

Возвращает:
индекс этого сетевого интерфейса или -1 если индекс неизвестен
С:
1.7
См. также:
getByIndex(int)

getDisplayName

public String getDisplayName()

Получить отображаемое имя этого сетевого интерфейса. Отображаемое имя — это читаемая строка, описывающая сетевое устройство.

Возвращает:
непустую строку, представляющую отображаемое имя этого сетевого интерфейса, или null, если отображаемое имя недоступно.

getByName

public static NetworkInterface getByName(String name)
                                  throws SocketException

Ищет сетевой интерфейс с указанным именем.

Параметры:
name - Имя сетевого интерфейса.
Возвращает:
сетевой интерфейс с указанным именем, или null если сетевого интерфейса с указанным именем не существует.
Исключения:
SocketException - Если произошла ошибка ввода-вывода.
NullPointerException - Если указанное имя является null.

getByIndex

public static NetworkInterface getByIndex(int index)
                                   throws SocketException

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

Параметры:
index - целое число, индекс интерфейса
Возвращает:
сетевой интерфейс, полученный по его индексу, или null если в системе нет интерфейса с таким индексом
Исключения:
SocketException - если произошла ошибка ввода-вывода.
IllegalArgumentException - если индекс имеет отрицательное значение
С:
1.7
См. также:
getIndex()

getByInetAddress

public static NetworkInterface getByInetAddress(InetAddress addr)
                                         throws SocketException

Удобный метод для поиска сетевого интерфейса, к которому привязан указанный адрес Интернет-протокола (IP).

Если указанный IP-адрес привязан к нескольким сетевым интерфейсам, не определено, какой сетевой интерфейс будет возвращен.

Параметры:
addr - IP-адрес для поиска.
Возвращает:
сетевой интерфейс или null если сетевого интерфейса с указанным IP-адресом не существует.
Исключения:
SocketException - Если произошла ошибка ввода-вывода.
NullPointerException - Если указанный адрес является null.

getNetworkInterfaces

public static Enumeration<NetworkInterface> getNetworkInterfaces()
                                                          throws SocketException

Возвращает перечисление всех интерфейсов на этой машине. Перечисление содержит по крайней мере один элемент, возможно представляющий петлевой интерфейс, который поддерживает только общение между сущностями на этой машине.

Примечание API:
Этот метод может быть использован в сочетании с getInetAddresses() для получения всех IP-адресов для этого узла
Возвращает:
перечисление NetworkInterfaces, найденных на этой машине
Исключения:
SocketException - если произошла ошибка ввода-вывода или если платформа не имеет по крайней мере одного настроенного сетевого интерфейса.
См. также:
networkInterfaces()

networkInterfaces

public static Stream<NetworkInterface> networkInterfaces()
                                                  throws SocketException

Возвращает поток всех интерфейсов на этой машине. Поток содержит по крайней мере один интерфейс, возможно представляющий петлевой интерфейс, который поддерживает только общение между сущностями на этой машине.

Примечание API:
Этот метод может быть использован в сочетании с inetAddresses()} для получения потока всех IP-адресов для этого узла, например:
Stream<InetAddress> addrs = NetworkInterface.networkInterfaces()
     .flatMap(NetworkInterface::inetAddresses);
Возвращает:
поток NetworkInterfaces, найденных на этой машине
Исключения:
SocketException - если произошла ошибка ввода-вывода или если платформа не имеет по крайней мере одного настроенного сетевого интерфейса.
С:
9

isUp

public boolean isUp()
             throws SocketException

Возвращает, включён ли сетевой интерфейс и работает ли он.

Возвращает:
true если интерфейс включён и работает.
Исключения:
SocketException - если произошла ошибка ввода-вывода.
С:
1.6

isLoopback

public boolean isLoopback()
                   throws SocketException

Возвращает, является ли сетевой интерфейс петлевым интерфейсом.

Возвращает:
true если интерфейс является петлевым интерфейсом.
Исключения:
SocketException - если произошла ошибка ввода-вывода.
С:
1.6

isPointToPoint

public boolean isPointToPoint()
                       throws SocketException

Возвращает, является ли сетевой интерфейс интерфейсом «точка-точка». Типичный интерфейс «точка-точка» — это соединение PPP через модем.

Возвращает:
true если интерфейс является интерфейсом «точка-точка».
Исключения:
SocketException - если произошла ошибка ввода-вывода.
С:
1.6

supportsMulticast

public boolean supportsMulticast()
                          throws SocketException

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

Возвращает:
true если интерфейс поддерживает многоадресную рассылку.
Исключения:
SocketException - если произошла ошибка ввода-вывода.
С:
1.6

getHardwareAddress

public byte[] getHardwareAddress()
                          throws SocketException

Возвращает физический адрес (обычно MAC) интерфейса, если он есть и доступен с текущими правами. Если установлен менеджер безопасности, то у вызывающего метода должно быть разрешение NetPermission("getNetworkInformation").

Возвращает:
массив байтов, содержащий адрес, или null если адрес не существует, недоступен или если установлен менеджер безопасности, и у вызывающего метода нет разрешения NetPermission("getNetworkInformation")
Исключения:
SocketException - если произошла ошибка ввода-вывода.
С:
1.6

getMTU

public int getMTU()
           throws SocketException

Возвращает максимальный размер пакета (MTU) этого интерфейса.

Возвращает:
значение MTU для данного интерфейса.
Исключения:
SocketException - если произошла ошибка ввода-вывода.
С:
1.6

isVirtual

public boolean isVirtual()

Возвращает, является ли этот интерфейс виртуальным интерфейсом (также называемым подсетевым интерфейсом). Виртуальные интерфейсы — это, на некоторых системах, интерфейсы, созданные как дочерние интерфейсы физического интерфейса и имеющие различные настройки (например, адрес или MTU). Обычно имя интерфейса содержит имя родителя, за которым следует двоеточие (:) и число, определяющее дочерний интерфейс, так как к одному физическому интерфейсу может быть подключено несколько виртуальных интерфейсов.

Возвращает:
true если этот интерфейс является виртуальным интерфейсом.
С:
1.6

equals

public boolean equals(Object obj)

Сравнивает этот объект с указанным объектом. Результат является true тогда и только тогда, когда аргумент не null и представляет тот же NetworkInterface, что и этот объект.

Два экземпляра NetworkInterface представляют один и тот же NetworkInterface, если имя и адреса одинаковы для обоих.

Переопределяет:
equals в классе Object
Параметры:
obj - объект для сравнения.
Возвращает:
true если объекты одинаковые; false в противном случае.
См. также:
InetAddress.getAddress()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/net/NetworkInterface.html

Spec-Zone .ru
спецификации, руководства, описания, API