How to get IP address in java using InetAddress

Filed Under: Java

An IP address is either a 32-bit or 128-bit unsigned number used by IP, a lower-level protocol on which protocols like UDP and TCP are built. In Java, the InetAddress class represents an Internet Protocol (IP) address.

Here we will learn how to get localhost IP address and a website IP addresses in java using InetAddress.


package com.journaldev.util;

import java.net.UnknownHostException;
import java.net.InetAddress;

public class JavaIPAddress {

    /**
     * @param args
     * @throws UnknownHostException 
     */
    public static void main(String[] args) throws UnknownHostException {
        //print localhost ip address
        System.out.println(InetAddress.getLocalHost().getHostAddress());
        //print website ip address
        System.out.println(InetAddress.getByName("www.journaldev.com"));
        //print all ip addresses for a website
        InetAddress[] inetAddresses = InetAddress.getAllByName("www.google.com");
        for(InetAddress inet : inetAddresses){
            System.out.println(inet);
        }
    }

}

Output of the above program is:


192.168.3.1
www.journaldev.com/50.116.65.160
www.google.com/74.125.224.82
www.google.com/74.125.224.81
www.google.com/74.125.224.80
www.google.com/74.125.224.83
www.google.com/74.125.224.84
www.google.com/2001:4860:4001:803:0:0:0:1010

When we use InetAddress.getByName(String host) it returns the current IPv4 address of the hostname, when we use InetAddress.getAllByName(String host) it returns all the IP addresses associated with the hostname. The last output of google.com IP is IPv6 format IP address.

These methods throw UnknownHostException if there are no IP addresses associated with the hostname. Note that we should not use any protocol like HTTP to provide the hostname input.

Comments

  1. sophia says:

    An IP address is either a 32-bit or 128-bit unsigned number used by IP, a lower-level protocol on which protocols like UDP and TCP are built.

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages