Package org.apache.bookkeeper.net
Class DNS
- java.lang.Object
-
- org.apache.bookkeeper.net.DNS
-
public class DNS extends java.lang.Object
A class that provides direct and reverse lookup functionalities, allowing the querying of specific network interfaces or nameservers.
-
-
Constructor Summary
Constructors Constructor Description DNS()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String
getDefaultHost(java.lang.String strInterface)
Returns the default (first) host name associated by the default nameserver with the address bound to the specified network interface.static java.lang.String
getDefaultHost(java.lang.String strInterface, java.lang.String nameserver)
Returns the default (first) host name associated by the provided nameserver with the address bound to the specified network interface.static java.lang.String
getDefaultIP(java.lang.String strInterface)
Returns the first available IP address associated with the provided network interface or the local host IP if "default" is given.static java.lang.String[]
getHosts(java.lang.String strInterface)
Returns all the host names associated by the default nameserver with the address bound to the specified network interface.static java.lang.String[]
getHosts(java.lang.String strInterface, java.lang.String nameserver)
Returns all the host names associated by the provided nameserver with the address bound to the specified network interface.static java.lang.String[]
getIPs(java.lang.String strInterface)
LikegetIPs(String, boolean)
, but returns all IPs associated with the given interface and its subinterfaces.static java.lang.String[]
getIPs(java.lang.String strInterface, boolean returnSubinterfaces)
Returns all the IPs associated with the provided interface, if any, in textual form.static java.lang.String
reverseDns(java.net.InetAddress hostIp, java.lang.String ns)
Returns the hostname associated with the specified IP address by the provided nameserver.
-
-
-
Method Detail
-
reverseDns
public static java.lang.String reverseDns(java.net.InetAddress hostIp, java.lang.String ns) throws javax.naming.NamingException
Returns the hostname associated with the specified IP address by the provided nameserver. Loopback addresses- Parameters:
hostIp
- The address to reverse lookupns
- The host name of a reachable DNS server- Returns:
- The host name associated with the provided IP
- Throws:
javax.naming.NamingException
- If a NamingException is encountered
-
getIPs
public static java.lang.String[] getIPs(java.lang.String strInterface) throws java.net.UnknownHostException
LikegetIPs(String, boolean)
, but returns all IPs associated with the given interface and its subinterfaces.- Throws:
java.net.UnknownHostException
-
getIPs
public static java.lang.String[] getIPs(java.lang.String strInterface, boolean returnSubinterfaces) throws java.net.UnknownHostException
Returns all the IPs associated with the provided interface, if any, in textual form.- Parameters:
strInterface
- The name of the network interface or sub-interface 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. The local host IP is returned if the interface name "default" is specified or there is an I/O error looking for the given interface.
- Throws:
java.net.UnknownHostException
- If the given interface is invalid
-
getDefaultIP
public static java.lang.String getDefaultIP(java.lang.String strInterface) throws java.net.UnknownHostException
Returns the first available IP address associated with the provided network interface or the local host IP if "default" is given.- 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, the local host IP is returned if the interface name "default" is specified
- Throws:
java.net.UnknownHostException
- If the given interface is invalid
-
getHosts
public static java.lang.String[] getHosts(java.lang.String strInterface, java.lang.String nameserver) throws java.net.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)nameserver
- The DNS host name- Returns:
- A string vector of all host names associated with the IPs tied to the specified interface
- Throws:
java.net.UnknownHostException
- if the given interface is invalid
-
getHosts
public static java.lang.String[] getHosts(java.lang.String strInterface) throws java.net.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:
java.net.UnknownHostException
- If one is encountered while querying the default interface
-
getDefaultHost
public static java.lang.String getDefaultHost(java.lang.String strInterface, java.lang.String nameserver) throws java.net.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:
java.net.UnknownHostException
- If one is encountered while querying the default interface
-
getDefaultHost
public static java.lang.String getDefaultHost(java.lang.String strInterface) throws java.net.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). Must not be null.- Returns:
- The default host name associated with IPs bound to the network interface
- Throws:
java.net.UnknownHostException
- If one is encountered while querying the default interface
-
-