public final class NetworkInterface extends Object
- 導入されたバージョン:
- 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のすべてまたサブセットを持つEnumerationを取得します。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()
ネットワーク・インタフェースがマルチキャストをサポートしているかどうかを返します。
-
メソッドの詳細
-
getName
public String getName()このネットワーク・インタフェースの名前を取得します。- 戻り値:
- このネットワーク・インタフェースの名前
-
getInetAddresses
public Enumeration<InetAddress> getInetAddresses()このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたサブセットを持つEnumerationを取得します。セキュリティ・マネージャが存在する場合、InetAddressごとにその
checkConnect
メソッドが呼び出されます。checkConnect
がSecurityExceptionをスローしないInetAddressだけが、列挙内に返されます。 ただし、呼出し元がNetPermission
(「getNetworkInformation」)アクセス権を持っている場合は、すべてのInetAddressが返されます。- 戻り値:
- このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたはサブセットの列挙オブジェクト
- 関連項目:
inetAddresses()
-
inetAddresses
public Stream<InetAddress> inetAddresses()このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたは一部のストリームを取得します。セキュリティ・マネージャが存在する場合、InetAddressごとにその
checkConnect
メソッドが呼び出されます。checkConnect
がSecurityExceptionをスローしないInetAddressesのみがStreamに返されます。 ただし、呼出し元がNetPermission
(「getNetworkInformation」)アクセス権を持っている場合は、すべてのInetAddressが返されます。- 戻り値:
- このネットワーク・インタフェースにバインドされたInetAddressesのすべてまたは一部を持つStreamオブジェクト
- 導入されたバージョン:
- 9
-
getInterfaceAddresses
public List<InterfaceAddress> getInterfaceAddresses()このネットワーク・インタフェースのInterfaceAddresses
のすべてまたはサブセットのリストを取得します。セキュリティ・マネージャが存在する場合、InterfaceAddressごとに、InetAddressを指定してセキュリティ・マネージャの
checkConnect
メソッドが呼び出されます。checkConnect
がSecurityExceptionをスローしないInterfaceAddressだけが、リスト内に返されます。- 戻り値:
- このネットワーク・インタフェースのInterfaceAddressのすべてまたは一部を含む
List
オブジェクト - 導入されたバージョン:
- 1.6
-
getSubInterfaces
public Enumeration<NetworkInterface> getSubInterfaces()このネットワーク・インタフェースに接続されたすべてのサブインタフェース(仮想インタフェースとも呼ばれる)を含む列挙を取得します。たとえば、eth0:1はeth0のサブインタフェースです。
- 戻り値:
- このネットワーク・インタフェースのすべてのサブインタフェースを含む列挙型オブジェクト
- 導入されたバージョン:
- 1.6
- 関連項目:
subInterfaces()
-
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
- 関連項目:
getByIndex(int)
-
getDisplayName
public String getDisplayName()このネットワーク・インタフェースの表示名を取得します。 表示名とは、ネットワーク・デバイスを記述した、人間が読むことのできるStringのことです。- 戻り値:
- このネットワーク・インタフェースの表示名を表す空でない文字列。表示名が取得できない場合はnull。
-
getByName
public static NetworkInterface getByName(String name) throws SocketException指定された名前のネットワーク・インタフェースを検索します。- パラメータ:
name
−ネットワーク・インタフェースの名前。- 戻り値:
- 指定された名前を持つ
NetworkInterface
。指定された名前のネットワーク・インタフェースが存在しない場合はnull
。 - 例外:
SocketException
- 入出力エラーが発生した場合。NullPointerException
−指定された名前がnull
の場合。
-
getByIndex
public static NetworkInterface getByIndex(int index) throws SocketException指定されたインデックスのネットワーク・インタフェースを取得します。- パラメータ:
index
- 整数。インタフェースのインデックス- 戻り値:
- インデックスから取得されたNetworkInterface。システムにそうしたインデックスを持つインタフェースがない場合は
null
- 例外:
SocketException
- 入出力エラーが発生した場合。IllegalArgumentException
- インデックスが負の値の場合- 導入されたバージョン:
- 1.7
- 関連項目:
getIndex()
-
getByInetAddress
public static NetworkInterface getByInetAddress(InetAddress addr) throws SocketException指定されたインターネット・プロトコル(IP)アドレスがバインドされているネットワーク・インタフェースを検索する簡易メソッド。指定されたIPアドレスが複数のネットワーク・インタフェースにバインドされている場合、どのネットワーク・インタフェースが返されるかは未定義となります。
- パラメータ:
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()
-
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)を持っており、そのアドレスに現在の特権を使ってアクセス可能である場合に、そのアドレスを返します。 セキュリティ・マネージャが設定されている場合は、呼出し元がアクセス権NetPermission
(「getNetworkInformation」)を持っている必要があります。- 戻り値:
- アドレスが格納されているバイト配列。アドレスが存在しない場合、アドレスにアクセスできない場合、またはセキュリティ・マネージャが設定されている場合は、呼出し元がアクセス権NetPermission (「getNetworkInformation」)を持っていなければ
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を表します。- オーバーライド:
equals
、クラス:Object
- APIのノート:
- ベースとなるインタフェースのアドレスがシステムによって動的に更新されている場合、同じベースとなるインタフェースを参照している複数の
NetworkInterface
オブジェクトを比較することはできません。 - パラメータ:
obj
- 比較対象のオブジェクト。- 戻り値:
- オブジェクトが同じである場合は
true
、そうでない場合はfalse
。 - 関連項目:
InetAddress.getAddress()
-