|
@@ -1,188 +0,0 @@
|
|
|
-package com.diagbot.web;
|
|
|
-
|
|
|
-import java.net.InetAddress;
|
|
|
-import java.net.NetworkInterface;
|
|
|
-import java.net.SocketException;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Enumeration;
|
|
|
-import java.util.List;
|
|
|
-import java.util.UUID;
|
|
|
-
|
|
|
-/**
|
|
|
- * @description:
|
|
|
- * @author: zhoutg
|
|
|
- * @time: 2019/12/23 9:33
|
|
|
- */
|
|
|
-public class IpUtil {
|
|
|
- private IpUtil(){}
|
|
|
- /**
|
|
|
- * 此方法描述的是:获得服务器的IP地址
|
|
|
- * @author: zhangyang33@sinopharm.com
|
|
|
- * @version: 2014年9月5日 下午4:57:15
|
|
|
- */
|
|
|
- public static String getLocalIP() {
|
|
|
- String sIP = "";
|
|
|
- InetAddress ip = null;
|
|
|
- try {
|
|
|
- boolean bFindIP = false;
|
|
|
- Enumeration<NetworkInterface> netInterfaces = (Enumeration<NetworkInterface>) NetworkInterface
|
|
|
- .getNetworkInterfaces();
|
|
|
- while (netInterfaces.hasMoreElements()) {
|
|
|
- if (bFindIP) {
|
|
|
- break;
|
|
|
- }
|
|
|
- NetworkInterface ni = (NetworkInterface) netInterfaces
|
|
|
- .nextElement();
|
|
|
-
|
|
|
- Enumeration<InetAddress> ips = ni.getInetAddresses();
|
|
|
- while (ips.hasMoreElements()) {
|
|
|
- ip = (InetAddress) ips.nextElement();
|
|
|
- if (!ip.isLoopbackAddress()
|
|
|
- && ip.getHostAddress().matches(
|
|
|
- "(\\d{1,3}\\.){3}\\d{1,3}")) {
|
|
|
- bFindIP = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- System.out.println(e.getMessage());
|
|
|
- }
|
|
|
- if (null != ip) {
|
|
|
- sIP = ip.getHostAddress();
|
|
|
- }
|
|
|
- return sIP;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 此方法描述的是:获得服务器的IP地址(多网卡)
|
|
|
- * @author: zhangyang33@sinopharm.com
|
|
|
- * @version: 2014年9月5日 下午4:57:15
|
|
|
- */
|
|
|
- public static List<String> getLocalIPS() {
|
|
|
- InetAddress ip = null;
|
|
|
- List<String> ipList = new ArrayList<String>();
|
|
|
- try {
|
|
|
- Enumeration<NetworkInterface> netInterfaces = (Enumeration<NetworkInterface>) NetworkInterface
|
|
|
- .getNetworkInterfaces();
|
|
|
- while (netInterfaces.hasMoreElements()) {
|
|
|
- NetworkInterface ni = (NetworkInterface) netInterfaces
|
|
|
- .nextElement();
|
|
|
- Enumeration<InetAddress> ips = ni.getInetAddresses();
|
|
|
- while (ips.hasMoreElements()) {
|
|
|
- ip = (InetAddress) ips.nextElement();
|
|
|
- if (!ip.isLoopbackAddress()
|
|
|
- && ip.getHostAddress().matches(
|
|
|
- "(\\d{1,3}\\.){3}\\d{1,3}")) {
|
|
|
- ipList.add(ip.getHostAddress());
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- System.out.println(e.getMessage());
|
|
|
- }
|
|
|
- return ipList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 此方法描述的是:获得服务器的MAC地址
|
|
|
- * @author: zhangyang33@sinopharm.com
|
|
|
- * @version: 2014年9月5日 下午1:27:25
|
|
|
- */
|
|
|
- public static String getMacId() {
|
|
|
- String macId = "";
|
|
|
- InetAddress ip = null;
|
|
|
- NetworkInterface ni = null;
|
|
|
- try {
|
|
|
- boolean bFindIP = false;
|
|
|
- Enumeration<NetworkInterface> netInterfaces = (Enumeration<NetworkInterface>) NetworkInterface
|
|
|
- .getNetworkInterfaces();
|
|
|
- while (netInterfaces.hasMoreElements()) {
|
|
|
- if (bFindIP) {
|
|
|
- break;
|
|
|
- }
|
|
|
- ni = (NetworkInterface) netInterfaces
|
|
|
- .nextElement();
|
|
|
- // ----------特定情况,可以考虑用ni.getName判断
|
|
|
- // 遍历所有ip
|
|
|
- Enumeration<InetAddress> ips = ni.getInetAddresses();
|
|
|
- while (ips.hasMoreElements()) {
|
|
|
- ip = (InetAddress) ips.nextElement();
|
|
|
- if (!ip.isLoopbackAddress() // 非127.0.0.1
|
|
|
- && ip.getHostAddress().matches(
|
|
|
- "(\\d{1,3}\\.){3}\\d{1,3}")) {
|
|
|
- bFindIP = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- System.out.println(e.getMessage());
|
|
|
- }
|
|
|
- if (null != ip) {
|
|
|
- try {
|
|
|
- macId = getMacFromBytes(ni.getHardwareAddress());
|
|
|
- } catch (SocketException e) {
|
|
|
- System.out.println(e.getMessage());
|
|
|
- }
|
|
|
- }
|
|
|
- return macId;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 此方法描述的是:获得服务器的MAC地址(多网卡)
|
|
|
- * @author: zhangyang33@sinopharm.com
|
|
|
- * @version: 2014年9月5日 下午1:27:25
|
|
|
- */
|
|
|
- public static List<String> getMacIds() {
|
|
|
- InetAddress ip = null;
|
|
|
- NetworkInterface ni = null;
|
|
|
- List<String> macList = new ArrayList<String>();
|
|
|
- try {
|
|
|
- Enumeration<NetworkInterface> netInterfaces = (Enumeration<NetworkInterface>) NetworkInterface
|
|
|
- .getNetworkInterfaces();
|
|
|
- while (netInterfaces.hasMoreElements()) {
|
|
|
- ni = (NetworkInterface) netInterfaces
|
|
|
- .nextElement();
|
|
|
- // ----------特定情况,可以考虑用ni.getName判断
|
|
|
- // 遍历所有ip
|
|
|
- Enumeration<InetAddress> ips = ni.getInetAddresses();
|
|
|
- while (ips.hasMoreElements()) {
|
|
|
- ip = (InetAddress) ips.nextElement();
|
|
|
- if (!ip.isLoopbackAddress() // 非127.0.0.1
|
|
|
- && ip.getHostAddress().matches(
|
|
|
- "(\\d{1,3}\\.){3}\\d{1,3}")) {
|
|
|
- macList.add(getMacFromBytes(ni.getHardwareAddress()));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- } catch (Exception e) {
|
|
|
- System.out.println(e.getMessage());
|
|
|
- }
|
|
|
- return macList;
|
|
|
- }
|
|
|
-
|
|
|
- private static String getMacFromBytes(byte[] bytes) {
|
|
|
- StringBuffer mac = new StringBuffer();
|
|
|
- byte currentByte;
|
|
|
- boolean first = false;
|
|
|
- for (byte b : bytes) {
|
|
|
- if (first) {
|
|
|
- mac.append("-");
|
|
|
- }
|
|
|
- currentByte = (byte) ((b & 240) >> 4);
|
|
|
- mac.append(Integer.toHexString(currentByte));
|
|
|
- currentByte = (byte) (b & 15);
|
|
|
- mac.append(Integer.toHexString(currentByte));
|
|
|
- first = true;
|
|
|
- }
|
|
|
- return mac.toString().toUpperCase();
|
|
|
- }
|
|
|
-
|
|
|
- public static void main(String[] args) {
|
|
|
- String uuid = UUID.randomUUID().toString();
|
|
|
- System.out.println(uuid);
|
|
|
- uuid = uuid.replace("-", "");
|
|
|
- System.out.println(uuid);
|
|
|
- }
|
|
|
-}
|