org.apache.hadoop.net
Class DNS

java.lang.Object
  extended by org.apache.hadoop.net.DNS

public class DNS
extends Object

A class that provides direct and reverse lookup functionalities, allowing the querying of specific network interfaces or nameservers.


Field Summary
static org.apache.commons.logging.Log LOG
           
 
Constructor Summary
DNS()
           
 
Method Summary
static String getDefaultHost(String strInterface)
          Returns the default (first) host name associated by the default nameserver with the address bound to the specified network interface
static String getDefaultHost(String strInterface, String nameserver)
          Returns the default (first) host name associated by the provided nameserver with the address bound to the specified network interface
static String getDefaultIP(String strInterface)
          Returns the first available IP address associated with the provided network interface
static String[] getHosts(String strInterface)
          Returns all the host names associated by the default nameserver with the address bound to the specified network interface
static String[] getHosts(String strInterface, String nameserver)
          Returns all the host names associated by the provided nameserver with the address bound to the specified network interface
static String[] getIPs(String strInterface)
          Like getIPs(String, boolean), but returns all IPs associated with the given interface and its subinterfaces.
static String[] getIPs(String strInterface, boolean returnSubinterfaces)
          Returns all the IPs associated with the provided interface, if any, in textual form.
static String reverseDns(InetAddress hostIp, String ns)
          Returns the hostname associated with the specified IP address by the provided nameserver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

public static final org.apache.commons.logging.Log LOG
Constructor Detail

DNS

public DNS()
Method Detail

reverseDns

public static String reverseDns(InetAddress hostIp,
                                String ns)
                         throws NamingException
Returns the hostname associated with the specified IP address by the provided nameserver.

Parameters:
hostIp - The address to reverse lookup
ns - The host name of a reachable DNS server
Returns:
The host name associated with the provided IP
Throws:
NamingException - If a NamingException is encountered

getIPs

public static String[] getIPs(String strInterface)
                       throws UnknownHostException
Like getIPs(String, boolean), but returns all IPs associated with the given interface and its subinterfaces.

Throws:
UnknownHostException

getIPs

public static String[] getIPs(String strInterface,
                              boolean returnSubinterfaces)
                       throws UnknownHostException
Returns all the IPs associated with the provided interface, if any, in textual form.

Parameters:
strInterface - The name of the network interface or subinterface to query (eg eth0 or eth0:0) or the string "default"
returnSubinterfaces - Whether to return IPs associated with subinterfaces of the given interface
Returns:
A string vector of all the IPs associated with the provided interface
Throws:
UnknownHostException - If an UnknownHostException is encountered in querying the default interface or the given interface can not be found

getDefaultIP

public static String getDefaultIP(String strInterface)
                           throws UnknownHostException
Returns the first available IP address associated with the provided network interface

Parameters:
strInterface - The name of the network interface or subinterface to query (e.g. eth0 or eth0:0) or the string "default"
Returns:
The IP address in text form
Throws:
UnknownHostException - If one is encountered in querying the default interface

getHosts

public static String[] getHosts(String strInterface,
                                String nameserver)
                         throws UnknownHostException
Returns all the host names associated by the provided nameserver with the address bound to the specified network interface

Parameters:
strInterface - The name of the network interface or subinterface to query (e.g. eth0 or eth0:0) or the string "default"
nameserver - The DNS host name
Returns:
A string vector of all host names associated with the IPs tied to the specified interface
Throws:
UnknownHostException

getHosts

public static String[] getHosts(String strInterface)
                         throws UnknownHostException
Returns all the host names associated by the default nameserver with the address bound to the specified network interface

Parameters:
strInterface - The name of the network interface to query (e.g. eth0)
Returns:
The list of host names associated with IPs bound to the network interface
Throws:
UnknownHostException - If one is encountered while querying the deault interface

getDefaultHost

public static String getDefaultHost(String strInterface,
                                    String nameserver)
                             throws UnknownHostException
Returns the default (first) host name associated by the provided nameserver with the address bound to the specified network interface

Parameters:
strInterface - The name of the network interface to query (e.g. eth0)
nameserver - The DNS host name
Returns:
The default host names associated with IPs bound to the network interface
Throws:
UnknownHostException - If one is encountered while querying the deault interface

getDefaultHost

public static String getDefaultHost(String strInterface)
                             throws UnknownHostException
Returns the default (first) host name associated by the default nameserver with the address bound to the specified network interface

Parameters:
strInterface - The name of the network interface to query (e.g. eth0)
Returns:
The default host name associated with IPs bound to the network interface
Throws:
UnknownHostException - If one is encountered while querying the deault interface


Copyright © 2009 The Apache Software Foundation