gpt4 book ai didi

java - 使用 InetAddress 类查找带有 ip addr 的主机名的问题

转载 作者:行者123 更新时间:2023-12-04 06:38:07 26 4
gpt4 key购买 nike

我写了两个程序
第一个 whois.java 找到给定主机名的 IP 地址

import java.net.*;
import java.io.*;

public class whois{
public static void main(String args[]) throws IOException{
String hostName = args[0];

try{
InetAddress ipaddress = InetAddress.getByName(hostName);
System.out.println("IP address: " + ipaddress.getHostAddress());
}catch(UnknownHostException e){
System.out.println("Could not find IP address for: " + hostName);
}
}
}

和其他 whois2.java 找到给定 ip 的主机名
import java.net.*;
import java.io.*;

class whois2{
public static void main(String args[]){
try{

String str[] = args[0].split("\\.");

byte btArr[] = new byte[]{(byte)Integer.parseInt(str[0]), (byte)Integer.parseInt(str[1]), (byte)Integer.parseInt(str[2]), (byte)Integer.parseInt(str[3])};
InetAddress ipAddr = InetAddress.getByAddress(btArr);
System.out.println("Host name for this is : " + ipAddr.getHostName());
}catch(UnknownHostException e){
System.out.println("Unable to find the host for ip specified " + args[0]);
}
}
}

然后我用 jdk 1.6 运行程序并得到以下输出:
$java whois google.com

IP address: 209.85.231.104

$java whois2 209.85.231.104

Host name for this is : maa03s01-in-f104.1e100.net

为什么主机名与 google.com 不同?

提前致谢

最佳答案

根据 DNS 查找的定义,负责处理对特定主机名的请求的服务器不需要与原始查找的主机名相同。

一个更典型的例子是对 foobar.com 的请求由 IP 上的服务器处理,IP 的主机名是 www.foobar.com。

另请注意,处理服务器可能因地区而异。

所以我使用 linux 得到同样的结果主持人工具:

joel@bohr:~$ host google.com 
google.com has address 173.194.37.104

...对 google.com 的请求应由位于 173.194.37.104 的服务器处理
joel@bohr:~$ host 173.194.37.104
104.37.194.173.in-addr.arpa domain name pointer lhr14s02-in-f104.1e100.net.

...服务器在 173.194.37.104 的主机名是 lhr14s02-in-f104.1e100.net
joel@bohr:~$ host lhr14s02-in-f104.1e100.net
lhr14s02-in-f104.1e100.net has address 173.194.37.104

...和健全性检查,lhr14s02-in-f104.1e100.net的IP确实是173.194.37.104

关于java - 使用 InetAddress 类查找带有 ip addr 的主机名的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4613184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com