1 /**
2 * 获取Linux下的IP地址
3 *
4 * @return IP地址
5 * @throws SocketException
6 */
7 public static String getLinuxLocalIp() throws SocketException {
8 String ip = "";
9 try {
10 for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces();
11 en.hasMoreElements();) {
12 NetworkInterface intf = en.nextElement();
13 String name = intf.getName();
14 if (!name.contains("docker") && !name.contains("lo")) {
15 for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses();
16 enumIpAddr.hasMoreElements();) {
17 InetAddress inetAddress = enumIpAddr.nextElement();
18 if (!inetAddress.isLoopbackAddress()) {
19 String ipaddress = inetAddress.getHostAddress().toString();
20 if (!ipaddress.contains("::") && !ipaddress.contains("0:0:")
21 && !ipaddress.contains("fe80")) {
22 ip = ipaddress;
23 }
24 }
25 }
26 }
27 }
28 } catch (SocketException ex) {
29 System.out.println("获取ip地址异常");
30 ex.printStackTrace();
31 }
32 System.out.println("IP:" + ip);
33 return ip;
34 }