类 NetUtils

java.lang.Object
com.alibaba.ageiport.common.utils.NetUtils

public class NetUtils extends Object
网络相关工具
  • 构造器详细资料

    • NetUtils

      public NetUtils()
  • 方法详细资料

    • isLocalhost

      public static boolean isLocalhost(String ip)
    • getInstanceIp

      public static String getInstanceIp()
      获取本机网卡IP地址,这个地址为所有网卡中非回路地址的第一个
      如果获取失败调用 InetAddress.getLocalHost()方法获取。
      此方法不会抛出异常,获取失败将返回null

      参考:http://stackoverflow.com/questions/9481865/getting-the-ip-address-of-the-current-machine-using-java

      返回:
      本机网卡IP地址,获取失败返回null
    • getInstanceIpWithCache

      public static String getInstanceIpWithCache()
    • getLocalhost

      public static InetAddress getLocalhost()
      获取本机网卡IP地址,规则如下:
       1. 查找所有网卡地址,必须非回路(loopback)地址、非局域网地址(siteLocal)、IPv4地址
       2. 如果无满足要求的地址,调用 InetAddress.getLocalHost() 获取地址
       

      此方法不会抛出异常,获取失败将返回null

      返回:
      本机网卡IP地址,获取失败返回null
    • localIps

      public static LinkedHashSet<String> localIps()
      获得本机的IP地址列表(包括Ipv4和Ipv6)
      返回的IP列表有序,按照系统设备顺序
      返回:
      IP地址列表 LinkedHashSet
    • toIpList

      public static LinkedHashSet<String> toIpList(Set<InetAddress> addressList)
      地址列表转换为IP地址列表
      参数:
      addressList - 地址Inet4Address 列表
      返回:
      IP地址字符串列表
    • localAddressList

      public static LinkedHashSet<InetAddress> localAddressList(Filter<InetAddress> addressFilter)
      获取所有满足过滤条件的本地IP地址对象
      参数:
      addressFilter - 过滤器,null表示不过滤,获取所有地址
      返回:
      过滤后的地址对象列表
    • getNetworkInterface

      public static NetworkInterface getNetworkInterface(String name)
      获取指定名称的网卡信息
      参数:
      name - 网络接口名,例如Linux下默认是eth0
      返回:
      网卡,未找到返回null
    • getNetworkInterfaces

      public static Collection<NetworkInterface> getNetworkInterfaces()
      获取本机所有网卡
      返回:
      所有网卡,异常返回null
    • getHostName

      public static String getHostName()
    • isPortAvailable

      public static boolean isPortAvailable(int port)