Class 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)
      Like getIPs(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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DNS

        public DNS()
    • 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 lookup
        ns - 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
        Like getIPs(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