我是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)
}
}