Class OsUtil

java.lang.Object
cn.sinozg.applet.common.utils.OsUtil

public class OsUtil extends Object
操作系统相关判断
  • Field Details

  • Constructor Details

    • OsUtil

      private OsUtil()
  • Method Details

    • isWindows

      public static boolean isWindows()
      判断操作系统
      Returns:
      是否为windows
    • realAddressByIp

      public static String realAddressByIp(String ip)
      通过网络方式获取到ip的地址

      先从缓存获取,再从网络获取 缓存7天

      Parameters:
      ip - ip地址
      Returns:
      实际物理地址
    • getRealAddressByIp

      public static String getRealAddressByIp(String ip)
      通过网络方式获取到ip的地址
      Parameters:
      ip - ip地址
      Returns:
      实际物理地址
    • getIpAddr

      public static String getIpAddr()
      获取id
      Returns:
      ip
    • getIpAddr

      public static String getIpAddr(jakarta.servlet.http.HttpServletRequest request)
      获取ip地址
      Parameters:
      request - http request
      Returns:
      ip地址
    • internalIp

      public static boolean internalIp(String ip)
      判断是否为内网ip
      Parameters:
      ip - ip地址
      Returns:
      是否为内网ip
    • ipAndMacAddress

      public static org.apache.commons.lang3.tuple.ImmutablePair<List<String>,List<String>> ipAndMacAddress() throws Exception
      ip 和mac 地址 集合
      Returns:
      返回ip mac
      Throws:
      Exception - 异常
    • cpuAndMainBoardSerial

      public static org.apache.commons.lang3.tuple.ImmutablePair<String,String> cpuAndMainBoardSerial() throws Exception
      获取cpu和主板的序列号
      macos 没有cpu 序列号,取硬件的uuid
      Returns:
      序列号
      Throws:
      Exception - 异常
    • getHostIp

      public static String getHostIp()
      获取ip地址
      Returns:
      ip地址
    • getHostName

      public static String getHostName()
      获取客户端名字
      Returns:
      客户端名称
    • userAgent

      public static UserAgentInfo userAgent(jakarta.servlet.http.HttpServletRequest request)
      获取到浏览器和操作系统信息
      Parameters:
      request - request
      Returns:
      浏览器和操作系统信息
    • formatUserAgent

      private static String formatUserAgent(String name, String version)
      格式化 浏览器或者操作系统的信息
      Parameters:
      name - 名称
      version - 版本
      Returns:
      格式化后信息
    • textToNumericFormatV4

      public static byte[] textToNumericFormatV4(String src)
      Converts IPv4 address in its textual presentation form into its numeric binary form.
      Parameters:
      src - a String representing an IPv4 address in standard format
      Returns:
      ip a byte array representing the IPv4 numeric address
    • getMacByInetAddress

      public static String getMacByInetAddress(InetAddress inetAddr)
      获取某个网络接口的Mac地址
      Parameters:
      inetAddr - 网络接口
      Returns:
      Mac地址
    • internalIp

      private static boolean internalIp(byte[] addr)
      判断是否为内网ip

      A类 10.0.0.0-10.255.255.255

      B类 172.16.0.0-172.31.255.255

      C类 192.168.0.0-192.168.255.255

      Parameters:
      addr - 地址
      Returns:
      是否为内网ip
    • serialNo

      private static String serialNo(ServiceEnums enums, boolean cpu) throws Exception
      根据指令 获取序列号
      Parameters:
      enums - 枚举值
      cpu - 是否为cpu
      Returns:
      序列号
      Throws:
      Exception - 异常
    • address

      private static List<String> address(List<InetAddress> list, Function<InetAddress,String> map)
      获取地址
      Parameters:
      list - 网络接口地址
      map - map
      Returns:
      地址
    • getLocalAllInetAddress

      private static List<InetAddress> getLocalAllInetAddress() throws Exception
      获取当前服务器所有符合条件的InetAddress
      Returns:
      InetAddress
      Throws:
      Exception - 异常