Home » Java » How to get host name based on IP address?

How to get host name based on IP address?

Posted by: admin December 28, 2021 Leave a comment

Questions:

I want to find the Host Name based on the given IP address in my program.
Is it possible to get it, if yes can you please provide the code. Thanks.

Answers:

Yes, its possible.

import java.net.*;
public class HostName
{
  public static void main(String args[])
  {
    InetAddress inetAddress =InetAddress.getByName("127.64.84.2");//get the host Inet using ip
    System.out.println ("Host Name: "+ inetAddress.getHostName());//display the host
  }
}

###

Something like this should point you in the right direction:

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

public class DNSLookup {
  public static void main(String args[]) {
    try {
      InetAddress host;
      if (args.length == 0) {
        host = InetAddress.getLocalHost();
      } else {
        host = InetAddress.getByName(args[0]);
      }
      System.out.println("Host:'" + host.getHostName()
          + "' has address: " + host.getHostAddress());

    } catch (UnknownHostException e) {
      e.printStackTrace();
    }
  }
}  

Source

###

You can use getHostName() method of InetAddress class.

###

Try this out….

System.out.println(InetAddress.getByName("IP_ADDR").getHostName());

###

Hey I m using above methods bt the getHostName() method is not returning the host name of given ip.

see code:

try {
//        This is ip of tutorialspoint.com    
           InetAddress addr2 = InetAddress.getByName("127.64.84.2");     
            op.setText("Host name is: "+addr2.getHostName());
        }   
        catch ( UnknownHostException e3) {  
            op.setText("Error: Host not found" + e3);
        }