Open In App

InetAddress Class in Java

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

 An IP address is an address having information about how to reach a specific host which is a 32-bit unique address number having an address space of 2^32. InetAddress class is a representation of an IP address. It represents both the 32-bit IPv4 address and the 128-bit IPv6 address. It is the superclass of Inet6Address and Inet4Address classes. An instance of this class consists of an IP address and usually a hostname depending on whether hostname resolution was performed during the creation. 

Note: There are no constructors for this class but static methods which return instances of InetAddress class for general use

Methods of  InetAddress Class

Method Action Performed
equals()  Returns true if this IP address is the same as that of the object specified. Equals() method don’t consider hostnames while comparing and only consider IP address associated. 
getAddress() Returns the raw IP address of this InetAddress object as an array. The order in which bytes appear in an array is the same as in IP address i.e. getAddress[0] will contain the highest order byte. 
getByAddress() Create an InetAddress object. It takes the hostname and IP address as its parameter. The hostname can be the machine name as in “www.geeksforgeeks.org” or its textual IP address. 
getByName() Returns the IP Address of the host specified. If the host is a literal IP address, then only its validity is checked.
getAllByName() Returns an array of IP addresses for the given host
getLoopbackAddress() Returns the loopback address
getHostAddress() Returns IP address in textual form.
getHostName() Returns the hostname for this IP Address. If this object was created with a hostname then it is returned, otherwise, a reverse lookup is performed to return the system configured hostname. 
getLocalHost() Returns the IP address of the local host. 
getCanonicalHostName() Returns the fully qualified domain name for this object. If this object was created with a hostname then it is returned, otherwise, a reverse lookup is performed to return the system configured hostname. 
hashCode() Returns the hashcode associated with this address object. 
isAnyLocalAddress() Returns true if this address represents a local address.
isLinkLocalAddress() Returns true if this address is a link-local address.
isLoopbackAddress() Returns true if this address is a loopback address.
isMCGlobal() Returns true if this multicast address has global scope. 
isMCLinkLocal() Returns true if this multicast address has link scope. 
isMCNodeLocal() Returns true if this multicast address has node scope. 
isMCOrgLocal() Returns true if this multicast address has organization scope. 
 isMCSiteLocal() Returns true if this multicast address has site scope. 
isMulticastAddress() Returns true if this address is an IP multicast address. Multicast addresses have 1110 as their first 4 bits.
isReachable() Returns true if this address is reachable. ICMP echo requests are used if permission can be granted otherwise the host tries to make a TCP connection at port 7 of the destination. This method is used generally as a pre-condition in various programs, to avoid Host Unreachable exceptions in the future
 isReachable() Specify the network interface to be used while checking for reachability and the ttl parameter specifies the number of hops the echo packet makes before exiting the network.
isSiteLocalAddress() Returns true if this address is a site-local address.
toString()  Converts the IP address to the string. It returns the result as hostname / IP address.

Example:

Java




// Java Program to Illustrate Methods of Inetaddress Class
 
// Importing required classes
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws UnknownHostException
    {
 
        // Input URL
        String url = "www.geeksforgeeks.org";
        byte addr[] = { 127, 0, 0, 1 };
 
        InetAddress ip1 = Inet4Address.getByName(url);
        InetAddress ip2 = InetAddress.getByAddress(addr);
 
        // Following methods checks the property
        // of the thus created object
 
        // getAddress() method
        System.out.println(
            "Address : "
            + Arrays.toString(ip1.getAddress()));
 
        // getHostAddress() method
        System.out.println("Host Address : "
                           + ip1.getHostAddress());
 
        // isAnyLocalAddress() method
        System.out.println("isAnyLocalAddress : "
                           + ip1.isAnyLocalAddress());
 
        // isLinkLocalAddress() method
        System.out.println("isLinkLocalAddress : "
                           + ip1.isLinkLocalAddress());
 
        // isLoopbackAddress() method
        System.out.println("isLoopbackAddress : "
                           + ip1.isLoopbackAddress());
 
        // isMCGlobal() method
        System.out.println("isMCGlobal : "
                           + ip1.isMCGlobal());
 
        // isMCLinkLocal() method
        System.out.println("isMCLinkLocal : "
                           + ip1.isMCLinkLocal());
 
        // isMCNodeLocal() method
        System.out.println("isMCNodeLocal : "
                           + ip1.isMCNodeLocal());
 
        // isMCOrgLocal() method
        System.out.println("isMCOrgLocal : "
                           + ip1.isMCOrgLocal());
 
        // isMCSiteLocal() method
        System.out.println("isMCSiteLocal : "
                           + ip1.isMCSiteLocal());
 
        // isMulticastAddress() method
        System.out.println("isMulticastAddress : "
                           + ip1.isMulticastAddress());
 
        // isSiteLocalAddress() method
        System.out.println("isSiteLocalAddress : "
                           + ip1.isSiteLocalAddress());
 
        // hashCode() method
        System.out.println("hashCode : " + ip1.hashCode());
 
        // equals() method
        System.out.println("ip1==ip2 : " + ip1.equals(ip2));
    }
}


Output:

Example 2:

Java




// Java Program to Illustrate Methods of Inetaddress Class
 
// Importing required classes
import java.io.IOException;
import java.net.InetAddress;
import java.util.Arrays;
 
// Main class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
        throws IOException
    {
 
        // Input sample URL
        String url = "www.geeksforgeeks.org";
        byte addr[] = { 127, 0, 0, 1 };
 
        // getByName() method
        InetAddress ip1 = InetAddress.getByName(url);
        System.out.println("getByName() : " + ip1);
 
        // getByAddress() method
        InetAddress ip2 = InetAddress.getByAddress(addr);
        System.out.println("getByAddress() : " + ip2);
 
        // getLocalHost() method
        InetAddress ip3 = InetAddress.getLocalHost();
        System.out.println("getLocalHost() : " + ip3);
 
        // getLoopbackAddress() method
        InetAddress ip4 = InetAddress.getLoopbackAddress();
        System.out.println("getLoopbackAddress() : " + ip4);
 
        // getAllByName() method
        // Returns all ip addresses associated with
        // 'google.com'
        InetAddress addrs[]
            = InetAddress.getAllByName("www.google.com");
        System.out.println("Google ip addresses : "
                           + Arrays.toString(addrs));
 
        // isReachable() method
        boolean isreach = ip1.isReachable(50);
        System.out.println("ip1 isReachable() : "
                           + isreach);
 
        // getHostname() method
        String hostname = ip1.getHostName();
        System.out.println("ip1 hostname :" + hostname);
 
        // getCanonicalHostname() method
        System.out.println("ip1 CanonicalHostname : "
                           + ip1.getCanonicalHostName());
 
        // toString() method
        System.out.println("ip1 toString() : "
                           + ip1.toString());
    }
}


Output:

 

Implementation: The following program uses InetAddress class to get the IP address of the given domain name. When the program is run on a system connected to the Internet, it gives the IP address(es) of the domain given.

Example:

Java




// Java program to Demonstrate Working of InetAddress Class
// by Finding IP address for a Domain Name
 
// Importing required classes
import java.net.*;
 
// Main class
// GetIPAddress
public class GFG {
 
    // Main driver method
    public static void main(String args[]) throws Exception
    {
 
        // Input sample URL
        String url = "www.google.com";
 
        // Try block to check for exceptions
        try {
 
            // Getting IP addresses related to the domain
            InetAddress ips[]
                = InetAddress.getAllByName(url);
 
            // Displaying IP addresses
            System.out.println("IP Address(es)");
 
            for (InetAddress addr : ips)
                System.out.println(addr.getHostAddress());
        }
 
        // Catch block to handle exceptions
        catch (Exception ex) {
 
            // Display message if exception occurs
            System.out.println("host not found");
        }
    }
}


Output:



Last Updated : 18 Apr, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads