5

I have been trying for a long time to get a DNSSEC validated on Google, but every time when I tried to get it, I got some errors. For example, when I was trying on Google.com. server didn't send me back a message or I got some problems with the code.

Actually i tried these examples: Programmatically check if domains are DNSSEC protected

Traceback (most recent call last):
  File "dnspython.py", line 13, in <module>
    response = dns.resolver.query(nsname,dns.rdatatype.A)
  File "/usr/local/lib/python3.5/dist-packages/dns/resolver.py", line 1132, in query
    raise_on_no_answer, source_port)
  File "/usr/local/lib/python3.5/dist-packages/dns/resolver.py", line 907, in query
    if qname.is_absolute():
AttributeError: 'NS' object has no attribute 'is_absolute'

https://pypi.org/project/dnsknife/

from dnsknife import resolver
ans = resolver.query('google.com', 'A', dnssec=True)
Traceback (most recent call last):
  File "dnspython.py", line 2, in <module>
    ans = resolver.query('google.com', 'A', dnssec=True)
  File "/usr/local/lib/python3.5/dist-packages/dnsknife/resolver.py", line 127, in query
    raise exceptions.NoDNSSEC('No AD flag from resolver')
dnsknife.exceptions.NoDNSSEC: No AD flag from resolver

When i tried to fix it with mine own no error occurred, but on line: 'dns.query.udp(request, nsaddr, timeout=25, port=80)' I always get timeout (even without timeout option, after half an hour, Google still doesn't resend a packet to me)

import dns.resolver as dns_res 
import dns.message as dns_msg

myResolver = dns_res.Resolver() 
myResolver.nameservers = ['8.8.8.8', '8.8.4.4']
myAnswers = myResolver.query("google.com.", "A") 
request = dns.message.make_query('google.com.',
                                 dns.rdatatype.A,
                                 want_dnssec=True)
request.nameservers = ['8.8.8.8', '8.8.4.4']

nsname = myAnswers.rrset[0]
nsaddr = myAnswers.rrset[0].to_text()
try:
    response2 = dns.query.udp(request, nsaddr, timeout=25, port=80)
    if response2.rcode() != 0:
        print("UDP Query failed")
    else:
        print("UDP Query successfull")
except dns.exception.Timeout:
    print("Timeout")

Does anyone know what am I doing wrong, or what did I have incorrect settings on my PC to achieve it? I totally don't have an idea what is wrong, and tried to do this in many ways, too many to write all of them there as wall of text.

Martijn Pieters
  • 1,048,767
  • 296
  • 4,058
  • 3,343
Guaz
  • 193
  • 1
  • 1
  • 12

0 Answers0