001
014
015 package com.liferay.portal.kernel.util;
016
017 import com.liferay.portal.kernel.exception.SystemException;
018
019 import java.net.Inet4Address;
020 import java.net.InetAddress;
021 import java.net.NetworkInterface;
022
023 import java.util.Enumeration;
024
025
029 public class InetAddressUtil {
030
031 public static InetAddress getLocalInetAddress() throws Exception {
032 Enumeration<NetworkInterface> enu1 =
033 NetworkInterface.getNetworkInterfaces();
034
035 while (enu1.hasMoreElements()) {
036 NetworkInterface networkInterface = enu1.nextElement();
037
038 Enumeration<InetAddress> enu2 = networkInterface.getInetAddresses();
039
040 while (enu2.hasMoreElements()) {
041 InetAddress inetAddress = enu2.nextElement();
042
043 if (!inetAddress.isLoopbackAddress() &&
044 (inetAddress instanceof Inet4Address)) {
045
046 return inetAddress;
047 }
048 }
049 }
050
051 throw new SystemException("No local internet address");
052 }
053
054 }