GoLang中的DNS SOA类型查找

时间:2019-05-05 15:57:33

标签: go dns nslookup

我是GoLang的新手。因此,我应该对从文件中读取的DNS进行nslookup。从终端执行nslookup example-dns.com时,我会收到所有详细信息,例如服务器,地址和与该dns相关的所有记录。但是,当我通过代码尝试相同的操作时(我正在使用以下库:GoLang check-soa.go),我收到一条错误消息,提示Missing port number

因此,我尝试使用各种端口号(53、443等-当然不是随机的),并且收到No such host错误。当我通过终端尝试nslookup example-dns.com:<port number>时,收到** server can't find example-dns:<port-number>: NXDOMAIN错误。

我不确定我缺少什么或做错了什么。这是代码:

    import (
    "github.com/miekg/dns"
    "fmt"
    // other imports
    )

    //other code ...

    func checkSOA() {
    str:="google.com:53"
    m := new(dns.Msg)
    m.SetQuestion(str, dns.TypeSOA)

    c := new(dns.Client)
    r, p, q := c.Exchange(m, str)
    fmt.Println("r is: ", r)
    fmt.Println("p is: ", p)
    fmt.Println("q is: ", q)

    if r != nil && r.Rcode != dns.RcodeSuccess {
        fmt.Println("Failed to get an valid answer")
        fmt.Println("%v\n", r)
    }
}

0 个答案:

没有答案