GoLang : net. LookupHost 返回重复的 ip

标签 go networking

我正在尝试运行 net.LookupHost 来获取运行我的代码的计算机的 IP 地址。它在大多数机器上工作,但在少数机器上,它返回一个包含两个条目的 slice :正确的 IP 和具有相同 IP 的重复条目。

我尝试在主机上运行 nslookup,但它只返回一个条目。

将代码添加到问题中 -

    hostname, _ := os.Hostname()

    ips, err := net.LookupHost(hostname)

    if err != nil {
            fmt.Printf("%d\n", err.Error())
    }

    fmt.Printf("Hello, 世界 %#v \n", ips)

    ips2, err := net.LookupIP(hostname)

    if err != nil {
            fmt.Printf("%d\n", err.Error())
    }

    fmt.Printf("Hello, 世界 %#v \n", ips2)

我期望 net.LookupHost 在响应中只给出一个条目,但它在响应中给出了两个相同的条目。

最佳答案

看起来像是 DNS 解析问题。 如果它在其他服务器上工作,请尝试检查文件 /etc/hosts

The system consults the /etc/hosts file first, then DNS servers.

来源:https://debian-handbook.info/browse/stable/sect.hostname-name-service.html

关于GoLang : net. LookupHost 返回重复的 ip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75845664/

相关文章:

elasticsearch - 并发文件解析并插入到 Elastic Search 中

go - 使用 go 从 g-suite 查询自定义属性

api - 客户端去: parse kubernetes json files to k8s structures

go - 使用反射设置 nil *int32 结构体字段

java - 尝试在线程中显示 AlertDialog 时应用程序崩溃

Java/Minecraft - 如何读取/理解数据包

mongodb - Golang mongodb 字段级加密

java - Java UDP打洞示例-通过防火墙连接

linux - GDB在远程调试期间挂起,库版本不匹配

c - 我的服务器通过网络每秒的请求非常低