Spec-Zone.ru › OpenJDK 27

Класс NetworkInterface

java.lang.Object
java.net.NetworkInterface
public final class NetworkInterface extends Object
Этот класс представляет сетевой интерфейс.

Сетевой интерфейс — это абстракция, заключающая в себе характеристики контроллера сетевого интерфейса или виртуального сетевого адаптера, то есть аппаратного или программного компонента системы, соединяющего компьютер или хост-систему с компьютерной сетью. Сетевой интерфейс может быть физическим или виртуальным. У сетевого интерфейса есть имя, ноль или более назначенных ему IP-адресов, ноль или более MAC-адресов, а также, возможно, индекс. Имя во многом зависит от платформы; типичным примером является "le0"; оно может быть неуникальным. Индекс — это зависящее от платформы число, идентифицирующее интерфейс. Конфигурация сети может меняться в течение срока жизни JVM. Например, набор IP-адресов, назначенных сетевому интерфейсу, может быть временным и динамически выделяемым, а также может измениться в любой момент.

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

Экземпляры сетевых интерфейсов обычно используются для определения локального интерфейса, через который присоединяется группа многоадресной рассылки.

Примечание к API:
Несколько статических методов этого класса являются фабричными методами, возвращающими новый экземпляр NetworkInterface, отражающий конфигурацию на момент создания. Конфигурация сети может измениться в любой момент, поэтому для получения более актуального представления сетевых интерфейсов может потребоваться повторный вызов этих методов. В частности, нет гарантии, что тот же интерфейс будет найден по тому же индексу или что к интерфейсу будут привязаны те же сетевые адреса, если конфигурация сети системы изменилась.
С версии:
1.4

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object obj)
Сравнивает этот объект с указанным объектом.
static NetworkInterface getByIndex(int index)
Возвращает сетевой интерфейс по его индексу.
static NetworkInterface getByInetAddress(InetAddress addr)
Вспомогательный метод для поиска сетевого интерфейса, к которому привязан указанный адрес Internet Protocol (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()
Возвращает Enumeration всех интерфейсов этого компьютера.
NetworkInterface getParent()
Возвращает родительский NetworkInterface этого интерфейса, если он является подинтерфейсом, или null, если это физический (не виртуальный) интерфейс либо у него нет родительского интерфейса.
Enumeration<NetworkInterface> getSubInterfaces()
Возвращает перечисление всех подинтерфейсов (также называемых виртуальными интерфейсами), подключенных к этому сетевому интерфейсу.
Stream<InetAddress> inetAddresses()
Возвращает поток InetAddresses, привязанных к этому сетевому интерфейсу.
boolean isLoopback()
Возвращает признак того, является ли сетевой интерфейс интерфейсом обратной петли.
boolean isPointToPoint()
Возвращает признак того, является ли сетевой интерфейс интерфейсом «точка-точка».
boolean isUp()
Возвращает признак того, включен ли сетевой интерфейс и работает ли он.
boolean isVirtual()
Возвращает признак того, является ли этот интерфейс виртуальным (также называемым подинтерфейсом).
static Stream<NetworkInterface> networkInterfaces()
Возвращает Stream всех интерфейсов этого компьютера.
Stream<NetworkInterface> subInterfaces()
Возвращает поток всех подинтерфейсов (также называемых виртуальными интерфейсами), подключенных к этому сетевому интерфейсу.
boolean supportsMulticast()
Возвращает признак того, поддерживает ли сетевой интерфейс многоадресную рассылку.

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

clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание методов

getName

public String getName()
Возвращает имя этого сетевого интерфейса.
Возвращает:
имя этого сетевого интерфейса

getInetAddresses

public Enumeration<InetAddress> getInetAddresses()
Возвращает перечисление InetAddresses, привязанных к этому сетевому интерфейсу.
Примечание по реализации:
Возвращаемое перечисление содержит InetAddresses, привязанные к интерфейсу на момент чтения конфигурации интерфейса
Возвращает:
объект Enumeration с InetAddresses, привязанными к этому сетевому интерфейсу
См. также:
  • inetAddresses()

inetAddresses

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

getInterfaceAddresses

public List<InterfaceAddress> getInterfaceAddresses()
Возвращает список InterfaceAddresses этого сетевого интерфейса.
Возвращает:
объект List с InterfaceAddress этого сетевого интерфейса
С версии:
1.6

getSubInterfaces

public Enumeration<NetworkInterface> getSubInterfaces()
Возвращает перечисление всех подинтерфейсов (также называемых виртуальными интерфейсами), подключенных к этому сетевому интерфейсу.

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

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

subInterfaces

public Stream<NetworkInterface> subInterfaces()
Возвращает поток всех подинтерфейсов (также называемых виртуальными интерфейсами), подключенных к этому сетевому интерфейсу.
Возвращает:
объект Stream со всеми подинтерфейсами этого сетевого интерфейса
С версии:
9

getParent

public NetworkInterface getParent()
Возвращает родительский NetworkInterface этого интерфейса, если он является подинтерфейсом, или null, если это физический (не виртуальный) интерфейс либо у него нет родительского интерфейса.
Возвращает:
NetworkInterface, к которому подключен этот интерфейс.
С версии:
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
Ищет сетевой интерфейс с указанным именем.
Примечание к API:
Возвращенный экземпляр интерфейса может отражать снимок конфигурации, созданный в момент создания экземпляра. Описание семантики возвращаемого интерфейса см. в общем обсуждении снимков и конфигурации.
Параметры:
name — имя сетевого интерфейса.
Возвращает:
NetworkInterface с указанным именем или null, если сетевого интерфейса с указанным именем нет.
Вызывает:
SocketException — если произошла ошибка ввода-вывода.
NullPointerException — если указанное имя равно null.

getByIndex

public static NetworkInterface getByIndex(int index) throws SocketException
Возвращает сетевой интерфейс по его индексу.
Примечание к API:
Возвращенный экземпляр интерфейса может отражать снимок конфигурации, созданный в момент создания экземпляра. Описание семантики возвращаемого интерфейса см. в общем обсуждении снимков и конфигурации.
Параметры:
index — целое число, индекс интерфейса
Возвращает:
NetworkInterface, найденный по его индексу, или null, если в системе нет интерфейса с таким индексом
Вызывает:
SocketException — если произошла ошибка ввода-вывода.
IllegalArgumentException — если индекс имеет отрицательное значение
С версии:
1.7
См. также:
  • getIndex()

getByInetAddress

public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException
Вспомогательный метод для поиска сетевого интерфейса, к которому привязан указанный адрес Internet Protocol (IP).

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

Примечание к API:
Возвращенный экземпляр интерфейса может отражать снимок конфигурации, созданный в момент создания экземпляра. Описание семантики возвращаемого интерфейса см. в общем обсуждении снимков и конфигурации.
Параметры:
addr — адрес InetAddress для поиска.
Возвращает:
NetworkInterface или null, если сетевого интерфейса с указанным IP-адресом нет.
Вызывает:
SocketException — если произошла ошибка ввода-вывода.
NullPointerException — если указанный адрес равен null.

getNetworkInterfaces

public static Enumeration<NetworkInterface> getNetworkInterfaces() throws SocketException
Возвращает Enumeration всех интерфейсов этого компьютера. Enumeration содержит не менее одного элемента, которым может быть интерфейс обратной петли, поддерживающий только обмен данными между объектами на этом компьютере.
Примечание к API:
Этот метод можно использовать вместе с getInetAddresses(), чтобы получить все IP-адреса этого узла.

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

Возвращает:
перечисление NetworkInterfaces, найденных на этом компьютере
Вызывает:
SocketException — если произошла ошибка ввода-вывода или если на платформе нет ни одного настроенного сетевого интерфейса.
См. также:
  • networkInterfaces()

networkInterfaces

public static Stream<NetworkInterface> networkInterfaces() throws SocketException
Возвращает Stream всех интерфейсов этого компьютера. Stream содержит как минимум один интерфейс, которым может быть интерфейс обратной петли, поддерживающий только обмен данными между объектами на этом компьютере.
Примечание к 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-адрес) интерфейса, если он есть и доступен с текущими привилегиями.
Возвращает:
массив байтов, содержащий адрес, или null, если адрес отсутствует или недоступен
Вызывает:
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, если совпадают их имена и наборы InetAddressов, привязанных к интерфейсам.

Переопределяет:
equals в классе Object
Примечание к API:
Два объекта NetworkInterface, ссылающиеся на один и тот же базовый интерфейс, могут считаться неравными, если система динамически обновляет адреса базового интерфейса.
Параметры:
obj — объект для сравнения.
Возвращает:
true, если объекты одинаковы; в противном случае — false.
См. также:
  • InetAddress.getAddress()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API