NetUtils { public static boolean isLocalAddress(InetAddress addr) { boolean local = addr.isAnyLocalAddress() || addr.isLoopbackAddress(); if (!local) { try { local = NetworkInterface.getByInetAddress(addr) != null; } catch (SocketException e) { local = false; } } return local; }  static SocketFactory getSocketFactory(Configuration conf,
      Class<?> clazz); static SocketFactory getDefaultSocketFactory(Configuration conf); static SocketFactory getSocketFactoryFromProperty(
      Configuration conf, String propValue); static InetSocketAddress createSocketAddr(String target); static InetSocketAddress createSocketAddr(String target,
                                                   int defaultPort); static InetSocketAddress createSocketAddr(String target,
                                                   int defaultPort,
                                                   String configName); static InetSocketAddress createSocketAddrForHost(String host, int port); static URI getCanonicalUri(URI uri, int defaultPort); static void addStaticResolution(String host, String resolvedName); static String getStaticResolution(String host); static List <String[]> getAllStaticResolutions(); static InetSocketAddress getConnectAddress(Server server); static InetSocketAddress getConnectAddress(InetSocketAddress addr); static SocketInputWrapper getInputStream(Socket socket); static SocketInputWrapper getInputStream(Socket socket, long timeout); static OutputStream getOutputStream(Socket socket); static OutputStream getOutputStream(Socket socket, long timeout); static void connect(Socket socket,
      SocketAddress address,
      int timeout); static void connect(Socket socket, 
                             SocketAddress endpoint,
                             SocketAddress localAddr,
                             int timeout); static String normalizeHostName(String name); static List<String> normalizeHostNames(Collection<String> names); static void verifyHostnames(String[] names); static String getHostNameOfIP(String ipPort); static String getLocalHostname(); static String getHostname(); static String getLocalCanonicalHostname(); static String getHostPortString(InetSocketAddress addr); static InetAddress getLocalInetAddress(String host); static boolean isLocalAddress(InetAddress addr); static IOException wrapException(final String destHost,
                                          final int destPort,
                                          final String localHost,
                                          final int localPort,
                                          final IOException exception); static boolean isValidSubnet(String subnet); static List<InetAddress> getIPs(String subnet,
      boolean returnSubinterfaces); static int getFreeSocketPort(); static InetAddress bindToLocalAddress(InetAddress localAddr, boolean
      bindWildCardAddress); static final String UNKNOWN_HOST; static final String HADOOP_WIKI; }
@Test public void testIsLocalAddress() throws Exception { assertTrue(NetUtils.isLocalAddress(InetAddress.getLocalHost())); Enumeration<NetworkInterface> interfaces = NetworkInterface .getNetworkInterfaces(); if (interfaces != null) { while (interfaces.hasMoreElements()) { NetworkInterface i = interfaces.nextElement(); Enumeration<InetAddress> addrs = i.getInetAddresses(); if (addrs == null) { continue; } while (addrs.hasMoreElements()) { InetAddress addr = addrs.nextElement(); assertTrue(NetUtils.isLocalAddress(addr)); } } } assertFalse(NetUtils.isLocalAddress(InetAddress.getByName("8.8.8.8"))); }