Я очень новичок в GoLang. Итак, я должен сделать nslookup
DNS, который я читаю из файла. Когда я делаю nslookup example-dns.com
из моего терминала, я получаю все детали, такие как сервер, адрес и все записи, связанные с этим днс. Однако, когда я пытаюсь сделать то же самое с помощью кода (я использую следующую библиотеку: 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)
}
}