Refine search
private static int scoreAddress(InetAddress addr) { if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()) { return 0; } if (addr.isMulticastAddress()) { return 1; } if (addr.isLinkLocalAddress()) { return 2; } if (addr.isSiteLocalAddress()) { return 3; } return 4; }
private static int scoreAddress(InetAddress addr) { if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()) { return 0; } if (addr.isMulticastAddress()) { return 1; } if (addr.isLinkLocalAddress()) { return 2; } if (addr.isSiteLocalAddress()) { return 3; } return 4; }
public InetAddress findValidateIp(List<InetAddress> addresses) { InetAddress local = null; int maxWeight = -1; for (InetAddress address : addresses) { if (address instanceof Inet4Address) { int weight = 0; if (address.isSiteLocalAddress()) { weight += 8; } if (address.isLinkLocalAddress()) { weight += 4; } if (address.isLoopbackAddress()) { weight += 2; } // has host name // TODO fix performance issue when calling getHostName if (!Objects.equals(address.getHostName(), address.getHostAddress())) { weight += 1; } if (weight > maxWeight) { maxWeight = weight; local = address; } } } return local; }
/** * Tests if the address is externally resolvable. Address must not be wildcard, link local, * loopback address, non-IPv4, or other unreachable addresses. * * @param address The testing address * @param timeoutMs Timeout in milliseconds to use for checking that a possible local IP is * reachable * @return a {@code boolean} indicating if the given address is externally resolvable address */ private static boolean isValidAddress(InetAddress address, int timeoutMs) throws IOException { return !address.isAnyLocalAddress() && !address.isLinkLocalAddress() && !address.isLoopbackAddress() && address.isReachable(timeoutMs) && (address instanceof Inet4Address); }
private static int scoreAddress(InetAddress addr) { if (addr.isAnyLocalAddress() || addr.isLoopbackAddress()) { return 0; } if (addr.isMulticastAddress()) { return 1; } if (addr.isLinkLocalAddress()) { return 2; } if (addr.isSiteLocalAddress()) { return 3; } return 4; }
/** Returns all global scope addresses for interfaces that are up. */ static InetAddress[] getGlobalInterfaces() throws SocketException { List<InetAddress> list = new ArrayList<InetAddress> (); for (NetworkInterface intf : getInterfaces()) { if (intf.isUp()) { for (InetAddress address : Collections.list(intf.getInetAddresses())) { if (address.isLoopbackAddress() == false && address.isSiteLocalAddress() == false && address.isLinkLocalAddress() == false) { list.add(address); } } } } return list.toArray(new InetAddress[list.size()]); } }
public static String getLocalHost() { Enumeration<NetworkInterface> ifaces = null; try { ifaces = NetworkInterface.getNetworkInterfaces(); } catch (SocketException e) { LOGGER.log(Level.WARNING, "exception", e); } while (ifaces.hasMoreElements()) { NetworkInterface iface = ifaces.nextElement(); Enumeration<InetAddress> iaddresses = iface.getInetAddresses(); while (iaddresses.hasMoreElements()) { InetAddress iaddress = iaddresses.nextElement(); if (!iaddress.isLoopbackAddress() && !iaddress.isLinkLocalAddress() && !iaddress.isSiteLocalAddress() && !(iaddress instanceof Inet6Address)) { return iaddress.getHostAddress(); } } } try { return InetAddress.getLocalHost().getHostAddress(); } catch (Exception e) { LOGGER.log(Level.WARNING, "exception", e); } return "127.0.0.1"; }
/** * Retrieve the first validated local ip address(the Public and LAN ip addresses are validated). * * @return the local address * @throws SocketException the socket exception */ public static InetAddress getLocalInetAddress() throws SocketException { // enumerates all network interfaces Enumeration<NetworkInterface> enu = NetworkInterface.getNetworkInterfaces(); while (enu.hasMoreElements()) { NetworkInterface ni = enu.nextElement(); if (ni.isLoopback()) { continue; } Enumeration<InetAddress> addressEnumeration = ni.getInetAddresses(); while (addressEnumeration.hasMoreElements()) { InetAddress address = addressEnumeration.nextElement(); // ignores all invalidated addresses if (address.isLinkLocalAddress() || address.isLoopbackAddress() || address.isAnyLocalAddress()) { continue; } return address; } } throw new RuntimeException("No validated local address!"); }
switch(scope) { case GLOBAL: match=!addr.isLoopbackAddress() && !addr.isLinkLocalAddress() && !addr.isSiteLocalAddress(); break; case SITE_LOCAL: break; case LINK_LOCAL: match=addr.isLinkLocalAddress(); break; case LOOPBACK: match=addr.isLoopbackAddress(); break; case NON_LOOPBACK: match=!addr.isLoopbackAddress(); break; default:
} else if (current == null || current.isLoopbackAddress()) { } else if (current.isLinkLocalAddress()) { if (best.isLoopbackAddress()) { best = current; if (best.isLoopbackAddress() || best.isLinkLocalAddress() || (best.isSiteLocalAddress() && !hasHostName(best))) { best = current; if (best.isLoopbackAddress() || best.isLinkLocalAddress() || best.isSiteLocalAddress() || !hasHostName(best)) {
while (addrs.hasMoreElements()) { InetAddress addr = addrs.nextElement(); if (addr.isLoopbackAddress() || addr.isAnyLocalAddress() || (!useLinkLocalAddresses && addr.isLinkLocalAddress())) { locals.add(addr); } else {
if (!addr.isLoopbackAddress() && !addr.isLinkLocalAddress() && reachable(itf, addr, reachTimeout)) { locHost = addr;
if (!iaddress.isLoopbackAddress() && !iaddress.isLinkLocalAddress() && !iaddress.isSiteLocalAddress()) { TransportCandidate tr = new TransportCandidate.Fixed(iaddress.getHostAddress() != null ? iaddress.getHostAddress() : iaddress.getHostName(), getFreePort()); tr.setLocalIp(iaddress.getHostAddress() != null ? iaddress.getHostAddress() : iaddress.getHostName()); if (!iaddress.isLoopbackAddress() && !iaddress.isLinkLocalAddress()) { TransportCandidate tr = new TransportCandidate.Fixed(iaddress.getHostAddress() != null ? iaddress.getHostAddress() : iaddress.getHostName(), getFreePort()); tr.setLocalIp(iaddress.getHostAddress() != null ? iaddress.getHostAddress() : iaddress.getHostName());
if (!iaddress.isLoopbackAddress() && !iaddress.isLinkLocalAddress()) {
!ip.isLoopbackAddress() && !ip.isLinkLocalAddress() ) { validIps.add(ip);
if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isMulticastAddress()) { continue;
if (addr.isLoopbackAddress() || addr.isLinkLocalAddress() || addr.isMulticastAddress()) { continue;
private static boolean acceptableAddress(InetAddress address) { return address != null && !address.isLoopbackAddress() && !address.isAnyLocalAddress() && !address.isLinkLocalAddress(); }
private static boolean isLocal(final InetAddress a) { final boolean localp = noLocalCheck || // DO NOT REMOVE THIS! it is correct to return true if the check is off a == null || a.isAnyLocalAddress() || a.isLinkLocalAddress() || a.isLoopbackAddress() || a.isSiteLocalAddress(); return localp; }
public static boolean isLocalInetAddress(InetAddress inetAddress) { if (inetAddress.isAnyLocalAddress() || inetAddress.isLinkLocalAddress() || inetAddress.isLoopbackAddress() || inetAddress.isSiteLocalAddress()) { return true; } return false; }