From 5b95227e96c947771da48044e4f5e276c293d278 Mon Sep 17 00:00:00 2001 From: thibon Date: Mon, 22 Aug 2022 10:25:53 +0200 Subject: [PATCH 1/2] Updating to dnspython 2.2.1 --- fierce/fierce.py | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fierce/fierce.py b/fierce/fierce.py index 6c32e36..e411e22 100755 --- a/fierce/fierce.py +++ b/fierce/fierce.py @@ -110,7 +110,7 @@ def concatenate_subdomains(domain, subdomains): def query(resolver, domain, record_type='A', tcp=False): try: - resp = resolver.query(domain, record_type, raise_on_no_answer=False, tcp=tcp) + resp = resolver.resolve(qname=domain, rdtype=record_type, raise_on_no_answer=False, tcp=True) if resp.response.answer: return resp diff --git a/requirements.txt b/requirements.txt index 2214373..c76555b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -dnspython==1.16.0 +dnspython==2.2.1 From 57075d5e75cf6b1b9fadbeb665d53427a2fa7a50 Mon Sep 17 00:00:00 2001 From: thibon Date: Mon, 22 Aug 2022 10:37:50 +0200 Subject: [PATCH 2/2] Adding patch for when DNS server point to localhost (Issue #40) --- fierce/fierce.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fierce/fierce.py b/fierce/fierce.py index e411e22..7754452 100755 --- a/fierce/fierce.py +++ b/fierce/fierce.py @@ -6,6 +6,7 @@ import http.client import ipaddress import itertools +from logging import warning import multiprocessing import os import pprint @@ -13,6 +14,7 @@ import socket import sys import time +import warnings import dns.exception import dns.name @@ -321,6 +323,9 @@ def fierce(**kwargs): master = query(resolver, soa_mname, record_type='A', tcp=kwargs["tcp"]) master_address = master[0].address print("SOA: {} ({})".format(soa_mname, master_address)) + if master_address == "127.0.0.1": + warning("Master address is localhost, switching to provided resolver (%s) instead" % resolver.nameservers[0]) + master_address = resolver.nameservers[0] else: print("SOA: failure") fatal("Failed to lookup NS/SOA, Domain does not exist")