Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么Java';s InetAddress getHostName()未提供主机';她叫什么名字?_Java_Android_Networking_Host_Inetaddress - Fatal编程技术网

为什么Java';s InetAddress getHostName()未提供主机';她叫什么名字?

为什么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地址

我正在尝试使用网络上的本地IP地址获取设备的名称。我应该这样做吗?前)阿诺德个人电脑,安多德-nnnnnnnnnn

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来查找网络上设备的主机名?