The DNS Lookup Tool in Java (InetAddress)

  • 时间:2020-10-05 13:36:40
  • 分类:网络文摘
  • 阅读:101 次

Have you ever needed a quick tool to lookup multiple hosts (IP address by getHostAddress)? It turns out it is very simple to write a tool in Java based on the InetAddress class.

The following Java code has been uploaded to github: https://github.com/DoctorLai/DNSLookup

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.net.InetAddress;
import java.net.UnknownHostException;
 
public class DNSLookup {
  // https://helloacm.com/the-dns-lookup-tool-in-java-inetaddress/
  public static void main(String args[]) {
    try {
      InetAddress host;
      if (args.length == 0) {
        host = InetAddress.getLocalHost();
        displayHost(host);
      } else {
        for (int i = 0; i < args.length; ++ i) {
          host = InetAddress.getByName(args[i]);
          displayHost(host);
        }
      }      
    } catch (UnknownHostException e) {
      e.printStackTrace();
    }
  }
 
  private static void displayHost(InetAddress host) {
    System.out.println("Host:'" + host.getHostName()
          + "' has address: " + host.getHostAddress());    
  }
}  
import java.net.InetAddress;
import java.net.UnknownHostException;

public class DNSLookup {
  // https://helloacm.com/the-dns-lookup-tool-in-java-inetaddress/
  public static void main(String args[]) {
    try {
      InetAddress host;
      if (args.length == 0) {
        host = InetAddress.getLocalHost();
        displayHost(host);
      } else {
        for (int i = 0; i < args.length; ++ i) {
          host = InetAddress.getByName(args[i]);
          displayHost(host);
        }
      }      
    } catch (UnknownHostException e) {
      e.printStackTrace();
    }
  }

  private static void displayHost(InetAddress host) {
    System.out.println("Host:'" + host.getHostName()
          + "' has address: " + host.getHostAddress());    
  }
}  

The above when compiled using javac DNSLookup.java generates DNSLookup.class (or download a pre-compiled version). And you can query the Host IP addresses based on the InetAddress.getHostAddress method.

# java DNSLookup
Host:'HP-PC' has address: 192.168.0.102

[email protected] D:\
# java DNSLookup localhost
Host:'localhost' has address: 127.0.0.1

[email protected] D:\
# java DNSLookup localhost www.google.com
Host:'localhost' has address: 127.0.0.1
Host:'www.google.com' has address: 216.58.201.36

–EOF (The Ultimate Computing & Technology Blog) —

推荐阅读:
奥运年的中秋节  清明时节 雨纷纷  一个数学游戏中的老朋友“9”  数学游戏:扑克牌之谜  迷人的九宫图  自然数的含义  零的含义  1 不是质数的原因  钟声的问题  越减越多的问题 
评论列表
添加评论