クラスNetworkInterface
ネットワーク・インタフェースは、ネットワーク・インタフェース・コントローラまたは仮想ネットワーク・アダプタ(コンピュータまたはホスト・システ をコンピュータ・ネットワークに接続するシステ ・ハードウェア/ソフトウェア・コンポーネント)の特性をカプセル化する抽象化です。 ネットワーク・インタフェースは物理でも仮想でもかまいません。 ネットワーク・インタフェースには、名前、0個以上の「IPアドレス」、0個以上の「MACアドレス」が割り当てられており、索引を持つことができます。 名前は高度にプラットフォー 固有ですが、"le0"などの名前が一般的です。一意でない 合があります。 索引は、インタフェースを識別するプラットフォー 固有の番号です。 ネットワーク構成は、JVMの存続期間中に変更される 合があります。 たとえば、ネットワーク・インタフェースに割り当てられたIPアドレスのセットは、一時的かつ動的に割り当てられ、いつでも変更される可能性があります。
NetworkInterfaceインスタンス(その構成(名前や割り当てられたIPアドレスのリストなど)の一部)を取得すると、作成時の構成が反 されます。 ネットワーク構成の更新されたビューを取得するには、新しいインスタンスを取得するためにネットワーク・インタフェースを再度検索する必要がある 合があります。
ネットワーク・インタフェース・インスタンスは、通常、マルチキャスト・グループが結合されるローカル・インタフェースを識別するために使用されます。
-
メソッドのサマリー
修飾子と型メソッド説明booleanこのオブジェクトと指定されたオブジェクトを比較します。static NetworkInterfacegetByIndex(int index) 指定されたインデックスのネットワーク・インタフェースを取得します。static NetworkInterfacegetByInetAddress(InetAddress addr) 指定されたインターネット・プロトコル(IP)アドレスがバインドされているネットワーク・インタフェースを検索する簡易メソッド。static NetworkInterface指定された名前のネットワーク・インタフェースを検索します。このネットワーク・インタフェースの表示名を取得します。byte[]インタフェースがハードウェア・アドレス(通常はMAC)を持っており、そのアドレスに現在の特権を使ってアクセス可能である 合に、そのアドレスを返します。intgetIndex()このネットワーク・インタフェースのインデックスを返します。このネットワーク・インタフェースにバインドされたInetAddressesの列挙を取得します。このネットワーク・インタフェースのInterfaceAddressesのリストを取得します。intgetMTU()このインタフェースの最大転送単位(MTU)を返します。getName()このネットワーク・インタフェースの名前を取得します。static Enumeration<NetworkInterface> このマシン上のすべてのインタフェースのEnumerationを返します。このインタフェースがサブインタフェースの 合はその親となるNetworkInterfaceを返し、このインタフェースが物理(非仮想)インタフェースであるか親を持たない 合はnullを返します。このネットワーク・インタフェースに接続されたすべてのサブインタフェース(仮想インタフェースとも呼ばれる)を含む列挙を取得します。このネットワーク・インタフェースにバインドされたInetAddressesのストリー を取得します。booleanネットワーク・インタフェースがループバック・インタフェースかどうかを返します。booleanネットワーク・インタフェースがポイント・ツー・ポイント・インタフェースかどうかを返します。booleanisUp()ネットワーク・インタフェースが起動し、動作しているかどうかを返します。booleanこのインタフェースが仮想インタフェース(サブインタフェースとも呼ばれる)かどうかを返します。static Stream<NetworkInterface> このマシン上のすべてのインタフェースのStreamを返します。このネットワーク・インタフェースに接続されているすべてのサブインタフェース(仮想インタフェースとも呼ばれます)のストリー を取得します。booleanネットワーク・インタフェースがマルチキャストをサポートしているかどうかを返します。
-
メソッドの詳細
-
getName
-
getInetAddresses
public Enumeration<InetAddress> getInetAddresses()このネットワーク・インタフェースにバインドされたInetAddressesの列挙を取得します。- 実装上のノート:
- 戻された列挙には、「インタフェース構成が読み取られました」の時点でインタフェースにバインドされたInetAddressesが含まれます
- 戻り値:
- このネットワーク・インタフェースにバインドされたInetAddressesを持つ列挙オブジェクト
- 関連 目:
-
inetAddresses
public Stream<InetAddress> inetAddresses()このネットワーク・インタフェースにバインドされたInetAddressesのストリー を取得します。- 実装上のノート:
- ストリー には、「インタフェース構成が読み取られました」の時点でインタフェースにバインドされたInetAddressesが含まれます
- 戻り値:
- このネットワーク・インタフェースにバインドされたInetAddressesを持つStreamオブジェクト
- 導入されたバージョン:
- 9
-
getInterfaceAddresses
public List<InterfaceAddress> getInterfaceAddresses()このネットワーク・インタフェースのInterfaceAddressesのリストを取得します。- 戻り値:
- このネットワーク・インタフェースのInterfaceAddressを持つ
Listオブジェクト - 導入されたバージョン:
- 1.6
-
getSubInterfaces
public Enumeration<NetworkInterface> getSubInterfaces()このネットワーク・インタフェースに接続されたすべてのサブインタフェース(仮想インタフェースとも呼ばれる)を含む列挙を取得します。たとえば、eth0:1はeth0のサブインタフェースです。
- 戻り値:
- このネットワーク・インタフェースのすべてのサブインタフェースを含む列挙型オブジェクト
- 導入されたバージョン:
- 1.6
- 関連 目:
-
subInterfaces
public Stream<NetworkInterface> subInterfaces()このネットワーク・インタフェースに接続されているすべてのサブインタフェース(仮想インタフェースとも呼ばれます)のストリー を取得します。- 戻り値:
- このネットワーク・インタフェースのすべてのサブインタフェースを持つStreamオブジェクト
- 導入されたバージョン:
- 9
-
getParent
public NetworkInterface getParent()このインタフェースがサブインタフェースの 合はその親となるNetworkInterfaceを返し、このインタフェースが物理(非仮想)インタフェースであるか親を持たない 合はnullを返します。- 戻り値:
- このインタフェースが接続されている
NetworkInterface。 - 導入されたバージョン:
- 1.6
-
getIndex
public int getIndex()このネットワーク・インタフェースのインデックスを返します。 インデックスは0以上の整数です。インデックスが不明な 合は-1を返します。 これはシステ 固有の値で、同じ名前を持つインタフェースでも、マシンが異なるとインデックスが異なる可能性があります。- 戻り値:
- このネットワーク・インタフェースのインデックス。インデックスが不明な 合は
-1 - 導入されたバージョン:
- 1.7
- 関連 目:
-
getDisplayName
public String getDisplayName()このネットワーク・インタフェースの表示名を取得します。 表示名とは、ネットワーク・デバイスを記述した、人間が読むことのできるStringのことです。- 戻り値:
- このネットワーク・インタフェースの表示名を表す空でない文字列。表示名が取得できない 合は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
- 関連 目:
-
getByInetAddress
public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException 指定されたインターネット・プロトコル(IP)アドレスがバインドされているネットワーク・インタフェースを検索する簡易メソッド。指定されたIPアドレスが複数のネットワーク・インタフェースにバインドされている 合、どのネットワーク・インタフェースが返されるかは未定義となります。
- APIのノート:
- 返されるインタフェース・インスタンスには、インスタンスの作成時に取得された構成のスナップショットが反 される 合があります。 戻されるインタフェースのセマンティクスについては、「スナップショットと構成」の一般的な説明を参照してく さい。
- パラメータ:
addr−検索に使用するInetAddress。- 戻り値:
NetworkInterface。指定されたIPアドレスを持つネットワーク・インタフェースが存在しない 合はnull。- スロー:
SocketException- 入出力エラーが発生した 合。NullPointerException−指定されたアドレスがnullの 合。
-
getNetworkInterfaces
public static Enumeration<NetworkInterface> getNetworkInterfaces() throws SocketExceptionこのマシン上のすべてのインタフェースのEnumerationを返します。Enumerationには少なくとも1つの要 が含まれます。このマシン上のエンティティ間の通信 けをサポートするループバック・インタフェースを表している 合もあります。- APIのノート:
- このメソッドは、
getInetAddresses()と組み合せて使用して、このノードのすべてのIPアドレスを取得できます。返されるインタフェース・インスタンスには、インスタンスの作成時に取得された構成のスナップショットが反 される 合があります。 戻されるインタフェースのセマンティクスについては、「スナップショットと構成」の一般的な説明を参照してく さい。
- 戻り値:
- このマシンで見つかったNetworkInterfacesの列挙
- スロー:
SocketException- I/Oエラーが発生した 合、またはプラットフォー に少なくとも1つのネットワーク・インタフェースが構成されていない 合。- 関連 目:
-
networkInterfaces
public static Stream<NetworkInterface> networkInterfaces() throws SocketExceptionこのマシン上のすべてのインタフェースのStreamを返します。Streamには少なくとも1つのインタフェースが含まれており、このマシン上のエンティティ間の通信のみをサポートするループバック・インタフェースを表す 合があります。- APIのノート:
- このメソッドを
inetAddresses()} と組み合わせて使用すると、このノードのすべてのIPアドレスのストリー を取得できます。たとえば:Stream<InetAddress> addrs = NetworkInterface.networkInterfaces() .flatMap(NetworkInterface::inetAddresses);返されるインタフェース・インスタンスには、インスタンスの作成時に取得された構成のスナップショットが反 される 合があります。 戻されるインタフェースのセマンティクスについては、「スナップショットと構成」の一般的な説明を参照してく さい。
- 戻り値:
- このマシンで見つかったNetworkInterfacesのストリー
- スロー:
SocketException- I/Oエラーが発生した 合、またはプラットフォー に少なくとも1つのネットワーク・インタフェースが構成されていない 合。- 導入されたバージョン:
- 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) このオブジェクトと指定されたオブジェクトを比較します。 引数がnullではなく、その引数がこのオブジェクトと同じNetworkInterfaceを表す 合に け、結果がtrueになります。インタフェースにバインドされた
InetAddressの名前とセットの両方が等しい 合、NetworkInterfaceの2つのインスタンスは同じNetworkInterfaceを表します。
-