为什么Java';s InetAddress getHostName()未提供主机';她叫什么名字?
我正在尝试使用网络上的本地IP地址获取设备的名称。我应该这样做吗?前)阿诺德个人电脑,安多德-nnnnnnnnnn为什么Java';s InetAddress getHostName()未提供主机';她叫什么名字?,java,android,networking,host,inetaddress,Java,Android,Networking,Host,Inetaddress,我正在尝试使用网络上的本地IP地址获取设备的名称。我应该这样做吗?前)阿诺德个人电脑,安多德-nnnnnnnnnn String name = InetAddress.getByName(ip).getHostName(); System.out.println(name); 上面应该给我主人的名字。。。而是给我本地IP地址192.168.2.101 根据文件 公共字符串getHostName() 返回与此IP地址对应的主机名。这可能是,也可能是 可能不是完全限定的名称。如果无法找到IP地址
String name = InetAddress.getByName(ip).getHostName();
System.out.println(name);
上面应该给我主人的名字。。。而是给我本地IP地址192.168.2.101
根据文件
公共字符串getHostName()
返回与此IP地址对应的主机名。这可能是,也可能是
可能不是完全限定的名称。如果无法找到IP地址
解析后,将返回数值表示形式
为什么找不到主机名
我对计算机网络知之甚少。。。所以请原谅我的无知P
在命令提示符中检查是否可以使用nsloookup解析ip地址
如果你不能,那么你的DNS就坏了 我想在这里引用java文档中的几行 getCanonicalHostName()获取此服务器的完全限定域名 IP地址。尽力而为的方法,意味着我们可能无法返回 FQDN取决于基础系统配置 还有一个技巧是编辑主机文件以获得输出(不推荐) 也看看这个答案 来自文档 如果此地址是使用主机名创建的,则会记住并返回此主机名;否则,将执行反向名称查找,并根据系统配置的名称查找服务返回结果。如果需要查找名称服务,请调用getCanonicalHostName如果普通的
getHostName()。DNS服务器将为主机IP地址命名,就像电话簿一样。尝试一下getCanonicalHostName()。这就是你的意思吗?如果我的DNS坏了,有没有其他方法获取主机名?是否可以向路由器请求DHCP表?如果我的DNS被破坏,我能做些什么吗?尝试从cmd提示符“ipconfig/flushdns”刷新DNS缓存,结果相同。我想知道是否有办法在android上获得JNetPCap。。。我们当然可以使用JNetPCap来查找网络上设备的主机名?