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 boolean isLocalIpAddress(final InetAddress ipAddress) { return ipAddress.isSiteLocalAddress() && !ipAddress.isLoopbackAddress() && !isV6IpAddress(ipAddress); }
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; }
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 boolean isPublicIpAddress(final InetAddress ipAddress) { return !ipAddress.isSiteLocalAddress() && !ipAddress.isLoopbackAddress() && !isV6IpAddress(ipAddress); }
private static boolean isLocalIpAddress(final InetAddress ipAddress) { return ipAddress.isSiteLocalAddress() && !ipAddress.isLoopbackAddress() && !isV6IpAddress(ipAddress); }
private static boolean isPublicIpAddress(final InetAddress ipAddress) { return !ipAddress.isSiteLocalAddress() && !ipAddress.isLoopbackAddress() && !isV6IpAddress(ipAddress); }
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 static NetworkInterface getLocalNetworkInterface() { Enumeration<NetworkInterface> interfaces; try { interfaces = NetworkInterface.getNetworkInterfaces(); } catch (SocketException e) { throw new RuntimeException("NetworkInterface not found", e); } while (interfaces.hasMoreElements()) { NetworkInterface networkInterface = interfaces.nextElement(); Enumeration<InetAddress> addresses = networkInterface.getInetAddresses(); while (addresses.hasMoreElements()) { InetAddress address = addresses.nextElement(); if (address.isLoopbackAddress()) continue; if (address.getHostAddress().contains(":")) continue; if (address.isSiteLocalAddress()) return networkInterface; } } throw new RuntimeException("NetworkInterface not found"); }
/** 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()]); } }
String produceLinkLocalIp() { try { Enumeration<NetworkInterface> nics = NetworkInterface.getNetworkInterfaces(); if (nics == null) return null; while (nics.hasMoreElements()) { NetworkInterface nic = nics.nextElement(); Enumeration<InetAddress> addresses = nic.getInetAddresses(); while (addresses.hasMoreElements()) { InetAddress address = addresses.nextElement(); if (address.isSiteLocalAddress()) return address.getHostAddress(); } } } catch (Exception e) { // don't crash the caller if there was a problem reading nics. log("error reading nics", e); } return null; }
if (address.getHostAddress().contains(":")) continue; if (getLocal) { if (address.isSiteLocalAddress()) { return address.getHostAddress(); if (!address.isSiteLocalAddress()) { return address.getHostAddress();
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"; }
inetAddr = inetAddrs.nextElement(); if (false == inetAddr.isLoopbackAddress()) { if (inetAddr.isSiteLocalAddress()) { return inetAddr; } else if (null == candidateAddress) {
inetAddr = inetAddrs.nextElement(); if (false == inetAddr.isLoopbackAddress()) { if (inetAddr.isSiteLocalAddress()) { return inetAddr; } else if (null == candidateAddress) {
switch(scope) { case GLOBAL: match=!addr.isLoopbackAddress() && !addr.isLinkLocalAddress() && !addr.isSiteLocalAddress(); break; case SITE_LOCAL: match=addr.isSiteLocalAddress(); break; case LINK_LOCAL:
while (address.hasMoreElements()) { InetAddress addr = address.nextElement(); if (addr.isLoopbackAddress() && !addr.isSiteLocalAddress()) { return addr.getHostAddress();
else if (inetAddr.isSiteLocalAddress()) type = 2; // private IPv4 else
InetAddress addrs[] = InetAddress.getAllByName(hostname); for (InetAddress addr : addrs) { if (!addr.isLoopbackAddress() && addr.isSiteLocalAddress()) ip = addr.getHostAddress();
!ch.remoteAddress().getAddress().isSiteLocalAddress() && channelManager.isAddressInQueue(ch.remoteAddress().getAddress())) { logger.debug("Drop connection - already processing connection from this host, channel: {}", ch.toString());