diff --git a/client/client.go b/client/client.go index e5c1503f..a7bb18da 100644 --- a/client/client.go +++ b/client/client.go @@ -321,6 +321,10 @@ func QueryDNS(queryType, queryName, url string) (connected bool, dnsRcode string if ns, ok := rr.(*dns.NS); ok { body = []byte(ns.Ns) } + case dns.TypePTR: + if ptr, ok := rr.(*dns.PTR); ok { + body = []byte(ptr.Ptr) + } default: body = []byte("query type is not supported yet") } diff --git a/client/client_test.go b/client/client_test.go index 10392e78..0650e162 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -396,6 +396,16 @@ func TestQueryDNS(t *testing.T) { expectedDNSCode: "NOERROR", expectedBody: "*.iana-servers.net.", }, + { + name: "test Config with type PTR", + inputDNS: dns.Config{ + QueryType: "PTR", + QueryName: "8.8.8.8.in-addr.arpa.", + }, + inputURL: "8.8.8.8", + expectedDNSCode: "NOERROR", + expectedBody: "dns.google.", + }, { name: "test Config with fake type and retrieve error", inputDNS: dns.Config{