Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Go 如何从IP地址获取主机名?_Go - Fatal编程技术网

Go 如何从IP地址获取主机名?

Go 如何从IP地址获取主机名?,go,Go,我正在尝试从Ip地址获取主机名,但我始终收到以下错误: err couln't get hostnames,err lookup 220.220.103.65.in-addr.arpa.: no such host,ip 65.103.220.220 守则: var hostname string hostnames, err := net.LookupAddr(c.ip) if err != nil { glog.Errorf("err couln't get hostnames,e

我正在尝试从Ip地址获取主机名,但我始终收到以下错误:

 err couln't get hostnames,err lookup 220.220.103.65.in-addr.arpa.: no such host,ip 65.103.220.220
守则:

var hostname string
hostnames, err := net.LookupAddr(c.ip)
 if err != nil {
  glog.Errorf("err couln't get hostnames,err %v,ip %v", err, c.ip)
  } else {
  hostname = strings.Join(hostnames, " ")
 }

这不是一个错误,而是一个简单的语句,您要查找的IP地址没有PTR记录。没有要求Internet上的每台计算机都有PTR记录,也不能保证从IP地址查找名称会成功

简而言之,您的代码并不总是返回名称,对此您无能为力


不管你用机器名做什么,你都不能依赖它。找到另一种方法。

nmap实际上获取主机名,例如主机81-135-23-115.range81-135.btcentralplus.com 81.135.23.115的nmap扫描报告,所以我想知道为什么go不能这样做这与您使用的工具或系统调用无关。这是关于全球DNS中可用的信息。一些地址会给出响应,其他地址不会。这不在你的控制范围之内,也不可预测。不要依赖它。问题是go从未提供任何“响应”信息。到目前为止,我有2500个IP地址,所以我想有一个围棋的问题。对于同一IP,nmap提供主机名,而Go不提供。您可以使用IP 81.135.23.115并尝试它,而不是我的话。也许nmap和Go使用不同的解析程序?