モジュール java.base
パッケージ java.net

クラス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のすべてまたサブセットを持つ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()
    ネットワーク・インタフェースがマルチキャストをサポートしているかどうかを返します。

    クラス java.lang.Objectで宣言されたメソッド

    clonefinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • メソッドの詳細

    • 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になります。

      名前とアドレスが両方とも同じ場合、NetworkInterfaceの2つのインスタンスは同じNetworkInterfaceを表します。

      オーバーライド:
      equals 、クラス:  Object
      パラメータ:
      obj - 比較対象のオブジェクト。
      戻り値:
      オブジェクトが同じである場合はtrue、そうでない場合はfalse
      関連項目:
      InetAddress.getAddress()