show text instead of just rcode + use None instead of [None] if nserver of domain doesn't have an ip

This commit is contained in:
lare 2023-03-17 19:29:36 +01:00
parent fa1575d6d0
commit 4b87f77360

View file

@ -17,6 +17,7 @@ try:
import dns.message
import dns.resolver
import dns.rdatatype
import dns.rcode
except ImportError:
print()
print("CRITICAL: this script requires the 'dnspython' libary, please install it using `python3 -m pip install dnspython`")
@ -76,7 +77,9 @@ def get_domain_by_mntner(mntner):
if line.startswith("nserver"):
_tmp = _parse_nserver(line)
if _tmp == "break": break
if _tmp[0] in domains[domain_name]["nserver"]:
if _tmp[1] == None:
domains[domain_name]["nserver"][_tmp[0]] = None
elif _tmp[0] in domains[domain_name]["nserver"]:
domains[domain_name]["nserver"][_tmp[0]].append(_tmp[1])
else:
domains[domain_name]["nserver"][_tmp[0]
@ -197,7 +200,7 @@ def get_dnskey(domain_name, nserver):
if response[0].rcode() != 0:
# HANDLE QUERY FAILED (SERVER ERROR OR NO DNSKEY RECORD)
print(
f"WARN: query for a DNSKEY on {domain_name} failed on {nserver}, returncode: {response[0].rcode()}")
f"WARN: query for a DNSKEY on {domain_name} failed on {nserver}, returncode: {dns.rcode.to_text(response[0].rcode())}")
errors += 1
return False
return [dnskey.to_text().split("IN DNSKEY ")[1] for dnskey in response[0].answer]