Класс NetworkInterface
- java.lang.Object
-
- java.net.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() | Получение списка всех или подмножества |
int | getMTU() | Возвращает максимальный размер пакета (MTU) этого интерфейса. |
String | getName() | Получение имени этого сетевого интерфейса. |
static Enumeration<NetworkInterface> | getNetworkInterfaces() | Возвращает перечисление всех интерфейсов на этом компьютере. |
NetworkInterface | getParent() | Возвращает родительский NetworkInterface этого интерфейса, если это подсетевой интерфейс, или |
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