Java 如何获取其他网段中的计算机主机名?

Java 如何获取其他网段中的计算机主机名?,java,networking,hostname,Java,Networking,Hostname,我可以使用以下方法通过ip获取主机名: (如果我们在同一网段——如果我的IP是10.167.10.2,其他人的IP是10.167.10.5) InetAddress add=InetAddress.getByName(ip) 字符串hostname=add.getHostName() 但如果其他网段的ip为10.167.10.2,则无法获取主机名——如果我的ip为10.167.10.2,则其他网段的ip为10.167.13.5 返回值是10.167.13.5,而不是计算机的主机名 当我使用C#时

我可以使用以下方法通过ip获取主机名: (如果我们在同一网段——如果我的IP是10.167.10.2,其他人的IP是10.167.10.5)

InetAddress add=InetAddress.getByName(ip)

字符串hostname=add.getHostName()

但如果其他网段的ip为10.167.10.2,则无法获取主机名——如果我的ip为10.167.10.2,则其他网段的ip为10.167.13.5 返回值是10.167.13.5,而不是计算机的主机名

当我使用C#时,类DNS有GetHostByAddress()方法,我可以使用这个方法通过上面提到的ip获取每个主机名

我们的计算机在一个域中 我使用的是WindowsXP,Java1.6 如何获取其他网段中的计算机主机名? 谢谢大家!

试试这个网站


尝试此网站

贵公司是否控制这两个网段?如果是,那么我认为关键点是“我们的计算机在一个域中”,并猜测(因此不是答案)C#会去域控制器请求反向IP查找。对DNS执行同样的操作需要PTR记录,而Windows商店可能没有对此进行配置(再次猜测)。贵公司是否控制这两个网段?如果是,那么我认为关键点是“我们的计算机在一个域中”,并猜测(因此不是答案)C#会去域控制器请求反向IP查找。对DNS执行同样的操作需要PTR记录,而Windows商店可能没有对此进行配置(再次猜测)。发布指向非现场代码的链接并不是真正的目的。虽然这可能从理论上回答了这个问题,但要在此处包含答案的基本部分,并提供链接以供参考。发布到非现场代码的链接并不是真正的目的。虽然这在理论上可以回答问题,但在此处包含答案的基本部分,并提供链接以供参考。