java实现域名解析
域名解析过程
- 浏览器检查是否有该域名缓存
- 检查本机host文件之内是否有该域名对应ip
- 检查本机DNS缓存
- 递归或迭代向DNS根域名服务器获取该域名ip地址
1.windows控制台
win+r 输入cmd进入控制台
ping www.baidu.com;
nslookup www.baidu.com
2.java实现
引入jar包
<dependency>
<groupId>dnsjava</groupId>
<artifactId>dnsjava</artifactId>
<version>2.1.1</version>
</dependency>
解析域名
public static InetAddress[] getIP(String host){
InetAddress[] addresses = new InetAddress[0];
System.out.println(host+":");
try {
addresses = InetAddress.getAllByName(host);
for (InetAddress ine: addresses){
System.out.println(ine.getHostAddress());
}
} catch (UnknownHostException e) {
e.printStackTrace();
}
return addresses;
}
实现效果
根据ip解析域名
除了利用nslookup外
try {
String hostName = Address.getHostName(InetAddress.getByName("14.215.177.166"));
System.out.println(hostName);
} catch (UnknownHostException e) {
e.printStackTrace();
}
注:本篇博客由https://www.cnblogs.com/fonxian/p/10952399.html这篇文章启发写得