Package oshi.hardware

Interface NetworkIF

All Known Implementing Classes:
AbstractNetworkIF, AixNetworkIF, FreeBsdNetworkIF, LinuxNetworkIF, MacNetworkIF, SolarisNetworkIF, WindowsNetworkIF

@ThreadSafe
public interface NetworkIF
A network interface in the machine, including statistics.

Thread safe for the designed use of retrieving the most recent data. Users should be aware that the updateAttributes() method may update attributes, including the time stamp, and should externally synchronize such usage to ensure consistent calculations.

  • Method Summary

    Modifier and Type Method Description
    long getBytesRecv()
    Getter for the field bytesRecv.
    long getBytesSent()
    Getter for the field bytesSent.
    long getCollisions()
    Getter for the field collisions.
    java.lang.String getDisplayName()
    Interface description.
    int getIfType()
    (Windows, macOS) The NDIS Interface Type.
    long getInDrops()
    Getter for the field inDrops.
    long getInErrors()
    Getter for the field inErrors.
    java.lang.String[] getIPv4addr()
    The Internet Protocol (IP) v4 address.
    java.lang.String[] getIPv6addr()
    The Internet Protocol (IP) v6 address.
    java.lang.String getMacaddr()
    The Media Access Control (MAC) address.
    int getMTU()
    The interface Maximum Transmission Unit (MTU).
    java.lang.String getName()
    Interface name.
    int getNdisPhysicalMediumType()
    (Windows Vista and higher only) The NDIS physical medium type.
    long getOutErrors()
    Getter for the field outErrors.
    long getPacketsRecv()
    Getter for the field packetsRecv.
    long getPacketsSent()
    Getter for the field packetsSent.
    java.lang.Short[] getPrefixLengths()
    The Internet Protocol (IP) v6 address.
    long getSpeed()
    Getter for the field speed.
    java.lang.Short[] getSubnetMasks()
    The Internet Protocol (IP) v4 subnet masks.
    long getTimeStamp()
    Getter for the field timeStamp.
    boolean isConnectorPresent()
    (Windows Vista and higher) Set if a connector is present on the network interface.
    boolean isKnownVmMacAddr()
    Determines if the MAC address on this interface corresponds to a known Virtual Machine.
    java.net.NetworkInterface queryNetworkInterface()
    Gets the NetworkInterface object.
    boolean updateAttributes()
    Updates interface network statistics on this interface.
  • Method Details

    • queryNetworkInterface

      java.net.NetworkInterface queryNetworkInterface()
      Gets the NetworkInterface object.
      Returns:
      the network interface, an instance of NetworkInterface.
    • getName

      java.lang.String getName()
      Interface name.
      Returns:
      The interface name.
    • getDisplayName

      java.lang.String getDisplayName()
      Interface description.
      Returns:
      The description of the network interface. On some platforms, this is identical to the name.
    • getMTU

      int getMTU()
      The interface Maximum Transmission Unit (MTU).
      Returns:
      The MTU of the network interface.

      This value is set when the NetworkIF is instantiated and may not be up to date.

    • getMacaddr

      java.lang.String getMacaddr()
      The Media Access Control (MAC) address.
      Returns:
      The MAC Address.

      This value is set when the NetworkIF is instantiated and may not be up to date.

    • getIPv4addr

      java.lang.String[] getIPv4addr()
      The Internet Protocol (IP) v4 address.
      Returns:
      An array of IPv4 Addresses.

      This value is set when the NetworkIF is instantiated and may not be up to date.

    • getSubnetMasks

      java.lang.Short[] getSubnetMasks()
      The Internet Protocol (IP) v4 subnet masks.
      Returns:
      An array of IPv4 subnet mask lengths, corresponding to the IPv4 addresses from getIPv4addr(). Ranges between 0-32.

      This value is set when the NetworkIF is instantiated and may not be up to date.

    • getIPv6addr

      java.lang.String[] getIPv6addr()
      The Internet Protocol (IP) v6 address.
      Returns:
      An array of IPv6 Addresses.

      This value is set when the NetworkIF is instantiated and may not be up to date.

    • getPrefixLengths

      java.lang.Short[] getPrefixLengths()
      The Internet Protocol (IP) v6 address.
      Returns:
      The IPv6 address prefix lengths, corresponding to the IPv6 addresses from getIPv6addr(). Ranges between 0-128.

      This value is set when the NetworkIF is instantiated and may not be up to date.

    • getIfType

      int getIfType()
      (Windows, macOS) The NDIS Interface Type. NDIS interface types are registered with the Internet Assigned Numbers Authority (IANA), which publishes a list of interface types periodically in the Assigned Numbers RFC, or in a derivative of it that is specific to Internet network management number assignments.

      (Linux) ARP Protocol hardware identifiers defined in include/uapi/linux/if_arp.h

      Returns:
      the ifType
    • getNdisPhysicalMediumType

      int getNdisPhysicalMediumType()
      (Windows Vista and higher only) The NDIS physical medium type. This member can be one of the values from the NDIS_PHYSICAL_MEDIUM enumeration type defined in the Ntddndis.h header file.
      Returns:
      the ndisPhysicalMediumType
    • isConnectorPresent

      boolean isConnectorPresent()
      (Windows Vista and higher) Set if a connector is present on the network interface.

      (Linux) Indicates the current physical link state of the interface.

      Returns:
      true if there is a physical network adapter (Windows) or a connected cable (Linux), false otherwise
    • getBytesRecv

      long getBytesRecv()

      Getter for the field bytesRecv.

      Returns:
      The Bytes Received.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getBytesSent

      long getBytesSent()

      Getter for the field bytesSent.

      Returns:
      The Bytes Sent.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getPacketsRecv

      long getPacketsRecv()

      Getter for the field packetsRecv.

      Returns:
      The Packets Received.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getPacketsSent

      long getPacketsSent()

      Getter for the field packetsSent.

      Returns:
      The Packets Sent.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getInErrors

      long getInErrors()

      Getter for the field inErrors.

      Returns:
      Input Errors.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getOutErrors

      long getOutErrors()

      Getter for the field outErrors.

      Returns:
      The Output Errors.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getInDrops

      long getInDrops()

      Getter for the field inDrops.

      Returns:
      Incoming/Received dropped packets. On Windows, returns discarded incoming packets.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getCollisions

      long getCollisions()

      Getter for the field collisions.

      Returns:
      Packet collisions. On Windows, returns discarded outgoing packets.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getSpeed

      long getSpeed()

      Getter for the field speed.

      Returns:
      The speed of the network interface in bits per second.

      This value is set when the NetworkIF is instantiated and may not be up to date. To update this value, execute the updateAttributes() method

    • getTimeStamp

      long getTimeStamp()

      Getter for the field timeStamp.

      Returns:
      Returns the timeStamp.
    • isKnownVmMacAddr

      boolean isKnownVmMacAddr()
      Determines if the MAC address on this interface corresponds to a known Virtual Machine.
      Returns:
      true if the MAC address corresponds to a known virtual machine.
    • updateAttributes

      boolean updateAttributes()
      Updates interface network statistics on this interface. Statistics include packets and bytes sent and received, and interface speed.
      Returns:
      true if the update was successful, false otherwise.