diff --git a/CHANGELOG b/CHANGELOG
index 08a30269..1fd37dea 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@ jc changelog
20210415 v1.15.2
- Add systeminfo parser tested on Windows
+- Update dig parser to fix an issue with IPv6 addresses in the server field
+- Update dig parser to fix an issue when axfr entries contain a semicolon
+- Update dig parser to add support for Additional Section and Opt Pseudosection
+- Use dig parser as the main example in readme, documentation, and man page
20210413 v1.15.1
- New feature to show parser documentation interactively with -h --parser_name
diff --git a/jc/parsers/dig.py b/jc/parsers/dig.py
index 67c7fea2..217aeb1d 100644
--- a/jc/parsers/dig.py
+++ b/jc/parsers/dig.py
@@ -76,246 +76,10 @@ Schema:
Examples:
$ dig cnn.com www.cnn.com @205.251.194.64 | jc --dig -p
- [
- {
- "id": 52172,
- "opcode": "QUERY",
- "status": "NOERROR",
- "flags": [
- "qr",
- "rd",
- "ra"
- ],
- "query_num": 1,
- "answer_num": 4,
- "authority_num": 0,
- "additional_num": 1,
- "question": {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A"
- },
- "answer": [
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": 27,
- "data": "151.101.65.67"
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": 27,
- "data": "151.101.129.67"
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": 27,
- "data": "151.101.1.67"
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": 27,
- "data": "151.101.193.67"
- }
- ],
- "query_time": 38,
- "server": "2600",
- "when": "Tue Mar 30 20:07:59 PDT 2021",
- "rcvd": 100,
- "when_epoch": 1617160079,
- "when_epoch_utc": null
- },
- {
- "id": 36292,
- "opcode": "QUERY",
- "status": "NOERROR",
- "flags": [
- "qr",
- "aa",
- "rd"
- ],
- "query_num": 1,
- "answer_num": 1,
- "authority_num": 4,
- "additional_num": 1,
- "question": {
- "name": "www.cnn.com.",
- "class": "IN",
- "type": "A"
- },
- "answer": [
- {
- "name": "www.cnn.com.",
- "class": "IN",
- "type": "CNAME",
- "ttl": 300,
- "data": "turner-tls.map.fastly.net."
- }
- ],
- "authority": [
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": 3600,
- "data": "ns-1086.awsdns-07.org."
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": 3600,
- "data": "ns-1630.awsdns-11.co.uk."
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": 3600,
- "data": "ns-47.awsdns-05.com."
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": 3600,
- "data": "ns-576.awsdns-08.net."
- }
- ],
- "query_time": 27,
- "server": "205.251.194.64#53(205.251.194.64)",
- "when": "Tue Mar 30 20:07:59 PDT 2021",
- "rcvd": 212,
- "when_epoch": 1617160079,
- "when_epoch_utc": null
- }
- ]
+
$ dig cnn.com www.cnn.com @205.251.194.64 | jc --dig -p -r
- [
- {
- "id": "23843",
- "opcode": "QUERY",
- "status": "NOERROR",
- "flags": [
- "qr",
- "rd",
- "ra"
- ],
- "query_num": "1",
- "answer_num": "4",
- "authority_num": "0",
- "additional_num": "1",
- "question": {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A"
- },
- "answer": [
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": "30",
- "data": "151.101.193.67"
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": "30",
- "data": "151.101.1.67"
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": "30",
- "data": "151.101.65.67"
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "A",
- "ttl": "30",
- "data": "151.101.129.67"
- }
- ],
- "query_time": "24 msec",
- "server": "192.168.1.254#53(192.168.1.254)",
- "when": "Tue Nov 12 07:16:19 PST 2019",
- "rcvd": "100"
- },
- {
- "id": "8266",
- "opcode": "QUERY",
- "status": "NOERROR",
- "flags": [
- "qr",
- "aa",
- "rd"
- ],
- "query_num": "1",
- "answer_num": "1",
- "authority_num": "4",
- "additional_num": "1",
- "question": {
- "name": "www.cnn.com.",
- "class": "IN",
- "type": "A"
- },
- "answer": [
- {
- "name": "www.cnn.com.",
- "class": "IN",
- "type": "CNAME",
- "ttl": "300",
- "data": "turner-tls.map.fastly.net."
- }
- ],
- "authority": [
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": "3600",
- "data": "ns-1086.awsdns-07.org."
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": "3600",
- "data": "ns-1630.awsdns-11.co.uk."
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": "3600",
- "data": "ns-47.awsdns-05.com."
- },
- {
- "name": "cnn.com.",
- "class": "IN",
- "type": "NS",
- "ttl": "3600",
- "data": "ns-576.awsdns-08.net."
- }
- ],
- "query_time": "26 msec",
- "server": "205.251.194.64#53(205.251.194.64)",
- "when": "Tue Nov 12 07:16:19 PST 2019",
- "rcvd": "212"
- }
- ]
+
$ dig -x 1.1.1.1 | jc --dig -p
[
@@ -507,6 +271,13 @@ def _parse_flags_line(flagsline):
'additional_num': additional_num}
+def _parse_opt_pseudosection(optline):
+ # ;; OPT PSEUDOSECTION:
+ # ; EDNS: version: 0, flags:; udp: 4096
+ # ; COOKIE: 1cbc06703eaef210
+ return {}
+
+
def _parse_question(question):
# ;www.cnn.com. IN A
question = question.split()
@@ -597,75 +368,70 @@ def parse(data, raw=False, quiet=False):
# remove blank lines
cleandata = list(filter(None, cleandata))
- question = False
- authority = False
- answer = False
- axfr = False
-
+ # section can be: header, flags, question, authority, answer, xfr, additional, opt_pseudosection, footer
+ section = ''
output_entry = {}
if jc.utils.has_data(data):
for line in cleandata:
+ # identify sections
+
if line.startswith('; <<>> ') and ' axfr ' in line.lower():
- question = False
- authority = False
- answer = False
- axfr = True
+ section = 'axfr'
axfr_list = []
continue
- if ';' not in line and axfr:
- axfr_list.append(_parse_axfr(line))
- output_entry.update({'axfr': axfr_list})
- continue
-
if line.startswith(';; ->>HEADER<<-'):
+ section = 'header'
output_entry = {}
output_entry.update(_parse_header(line))
continue
if line.startswith(';; flags:'):
+ section = 'flags'
output_entry.update(_parse_flags_line(line))
continue
- if line.startswith(';; QUESTION SECTION:'):
- question = True
- authority = False
- answer = False
- axfr = False
- continue
+ # if line.startswith(';; OPT PSEUDOSECTION:'):
+ # section = 'opt_pseudosection'
+ # continue
- if question:
- output_entry['question'] = _parse_question(line)
- question = False
- authority = False
- answer = False
- axfr = False
+ if line.startswith(';; QUESTION SECTION:'):
+ section = 'question'
continue
if line.startswith(';; AUTHORITY SECTION:'):
- question = False
- authority = True
- answer = False
- axfr = False
+ section = 'authority'
authority_list = []
continue
- if ';' not in line and authority:
+ if line.startswith(';; ANSWER SECTION:'):
+ section = 'answer'
+ answer_list = []
+ continue
+
+ # parse sections
+
+ if not line.startswith(';') and section == 'axfr':
+ axfr_list.append(_parse_axfr(line))
+ output_entry.update({'axfr': axfr_list})
+ continue
+
+ # if section == 'opt_pseudosection':
+ # # output_entry.update(_parse_opt_pseudosection(line))
+ # continue
+
+ if section == 'question':
+ output_entry['question'] = _parse_question(line)
+ continue
+
+ if not line.startswith(';') and section == 'authority':
authority_list.append(_parse_authority(line))
output_entry.update({'authority': authority_list})
continue
- if line.startswith(';; ANSWER SECTION:'):
- question = False
- authority = False
- answer = True
- axfr = False
- answer_list = []
- continue
-
- if ';' not in line and answer:
+ if not line.startswith(';') and section == 'answer':
answer_list.append(_parse_answer(line))
output_entry.update({'answer': answer_list})
continue
@@ -673,6 +439,7 @@ def parse(data, raw=False, quiet=False):
# footer consists of 4 lines
# footer line 1
if line.startswith(';; Query time:'):
+ section = 'footer'
output_entry.update({'query_time': line.split(':')[1].lstrip()})
continue
@@ -688,11 +455,13 @@ def parse(data, raw=False, quiet=False):
# footer line 4 (last line)
if line.startswith(';; MSG SIZE rcvd:'):
+ section = ''
output_entry.update({'rcvd': line.split(':')[1].lstrip()})
if output_entry:
raw_output.append(output_entry)
elif line.startswith(';; XFR size:'):
+ section = ''
output_entry.update({'size': line.split(':')[1].lstrip()})
if output_entry:
diff --git a/tests/fixtures/centos-7.7/dig-axfr.json b/tests/fixtures/centos-7.7/dig-axfr.json
index 85beac27..27c9472d 100644
--- a/tests/fixtures/centos-7.7/dig-axfr.json
+++ b/tests/fixtures/centos-7.7/dig-axfr.json
@@ -1 +1 @@
-[{"axfr":[{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"},{"name":"zonetransfer.me.","ttl":300,"class":"IN","type":"HINFO","data":"\"Casio fx-700G\" \"Windows XP\""},{"name":"zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"0 ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT1.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT2.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX2.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX3.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX4.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX5.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm1.digi.ninja."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm2.digi.ninja."},{"name":"_acme-challenge.zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"6Oa05hbUJ9xSsvYy7pApQvwCUSSGgxvrbdizjePEsZI\""},{"name":"_sip._tcp.zonetransfer.me.","ttl":14000,"class":"IN","type":"SRV","data":"0 0 5060 www.zonetransfer.me."},{"name":"14.105.196.5.IN-ADDR.ARPA.zonetransfer.me.","ttl":7200,"class":"IN","type":"PTR","data":"www.zonetransfer.me."},{"name":"asfdbauthdns.zonetransfer.me.","ttl":7900,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"asfdbbox.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"asfdbvolume.zonetransfer.me.","ttl":7800,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"canberra-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"202.14.81.230"},{"name":"contact.zonetransfer.me.","ttl":2592000,"class":"IN","type":"TXT","data":"\"Remember to call or email Pippa on +44 123 4567890 or pippa@zonetransfer.me when making DNS changes\""},{"name":"dc-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"143.228.181.132"},{"name":"deadbeef.zonetransfer.me.","ttl":7201,"class":"IN","type":"AAAA","data":"dead:beaf::"},{"name":"dr.zonetransfer.me.","ttl":300,"class":"IN","type":"LOC","data":"53 20 56.558 N 1 38 33.526 W 0.00m 1m 10000m 10m"},{"name":"DZC.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"AbCdEfG\""},{"name":"email.zonetransfer.me.","ttl":2222,"class":"IN","type":"NAPTR","data":"1 1 \"P\" \"E2U+email\" \"\" email.zonetransfer.me.zonetransfer.me."},{"name":"email.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"74.125.206.26"},{"name":"Hello.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"Hi to Josh and all his class\""},{"name":"home.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"Info.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"ZoneTransfer.me service provided by Robin Wood - robin@digi.ninja. See http://digi.ninja/projects/zonetransferme.php for more information.\""},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns1.zonetransfer.me."},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns2.zonetransfer.me."},{"name":"intns1.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"81.4.108.41"},{"name":"intns2.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"167.88.42.94"},{"name":"office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"4.23.39.254"},{"name":"ipv6actnow.org.zonetransfer.me.","ttl":7200,"class":"IN","type":"AAAA","data":"2001:67c:2e8:11::c100:1332"},{"name":"owa.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"207.46.197.32"},{"name":"robinwood.zonetransfer.me.","ttl":302,"class":"IN","type":"TXT","data":"\"Robin Wood\""},{"name":"rp.zonetransfer.me.","ttl":321,"class":"IN","type":"RP","data":"robin.zonetransfer.me. robinwood.zonetransfer.me."},{"name":"sip.zonetransfer.me.","ttl":3333,"class":"IN","type":"NAPTR","data":"2 3 \"P\" \"E2U+sip\" \"!^.*$!sip:customer-service@zonetransfer.me!\" ."},{"name":"sqli.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"' or 1=1 --\""},{"name":"staging.zonetransfer.me.","ttl":7200,"class":"IN","type":"CNAME","data":"www.sydneyoperahouse.com."},{"name":"alltcpportsopen.firewall.test.zonetransfer.me.","ttl":301,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"testing.zonetransfer.me.","ttl":301,"class":"IN","type":"CNAME","data":"www.zonetransfer.me."},{"name":"vpn.zonetransfer.me.","ttl":4000,"class":"IN","type":"A","data":"174.36.59.154"},{"name":"www.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"xss.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"'>\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"}],"query_time":182,"server":"81.4.108.41#53(81.4.108.41)","when":"Wed Mar 25 20:01:47 PDT 2020","size":"50 records (messages 1, bytes 1994)","when_epoch":1585191707,"when_epoch_utc":null}]
+[{"axfr":[{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"},{"name":"zonetransfer.me.","ttl":300,"class":"IN","type":"HINFO","data":"\"Casio fx-700G\" \"Windows XP\""},{"name":"zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"0 ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT1.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT2.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX2.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX3.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX4.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX5.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm1.digi.ninja."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm2.digi.ninja."},{"name":"_acme-challenge.zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"6Oa05hbUJ9xSsvYy7pApQvwCUSSGgxvrbdizjePEsZI\""},{"name":"_sip._tcp.zonetransfer.me.","ttl":14000,"class":"IN","type":"SRV","data":"0 0 5060 www.zonetransfer.me."},{"name":"14.105.196.5.IN-ADDR.ARPA.zonetransfer.me.","ttl":7200,"class":"IN","type":"PTR","data":"www.zonetransfer.me."},{"name":"asfdbauthdns.zonetransfer.me.","ttl":7900,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"asfdbbox.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"asfdbvolume.zonetransfer.me.","ttl":7800,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"canberra-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"202.14.81.230"},{"name":"cmdexec.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"; ls\""},{"name":"contact.zonetransfer.me.","ttl":2592000,"class":"IN","type":"TXT","data":"\"Remember to call or email Pippa on +44 123 4567890 or pippa@zonetransfer.me when making DNS changes\""},{"name":"dc-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"143.228.181.132"},{"name":"deadbeef.zonetransfer.me.","ttl":7201,"class":"IN","type":"AAAA","data":"dead:beaf::"},{"name":"dr.zonetransfer.me.","ttl":300,"class":"IN","type":"LOC","data":"53 20 56.558 N 1 38 33.526 W 0.00m 1m 10000m 10m"},{"name":"DZC.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"AbCdEfG\""},{"name":"email.zonetransfer.me.","ttl":2222,"class":"IN","type":"NAPTR","data":"1 1 \"P\" \"E2U+email\" \"\" email.zonetransfer.me.zonetransfer.me."},{"name":"email.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"74.125.206.26"},{"name":"Hello.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"Hi to Josh and all his class\""},{"name":"home.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"Info.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"ZoneTransfer.me service provided by Robin Wood - robin@digi.ninja. See http://digi.ninja/projects/zonetransferme.php for more information.\""},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns1.zonetransfer.me."},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns2.zonetransfer.me."},{"name":"intns1.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"81.4.108.41"},{"name":"intns2.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"167.88.42.94"},{"name":"office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"4.23.39.254"},{"name":"ipv6actnow.org.zonetransfer.me.","ttl":7200,"class":"IN","type":"AAAA","data":"2001:67c:2e8:11::c100:1332"},{"name":"owa.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"207.46.197.32"},{"name":"robinwood.zonetransfer.me.","ttl":302,"class":"IN","type":"TXT","data":"\"Robin Wood\""},{"name":"rp.zonetransfer.me.","ttl":321,"class":"IN","type":"RP","data":"robin.zonetransfer.me. robinwood.zonetransfer.me."},{"name":"sip.zonetransfer.me.","ttl":3333,"class":"IN","type":"NAPTR","data":"2 3 \"P\" \"E2U+sip\" \"!^.*$!sip:customer-service@zonetransfer.me!\" ."},{"name":"sqli.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"' or 1=1 --\""},{"name":"sshock.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"() { :]}; echo ShellShocked\""},{"name":"staging.zonetransfer.me.","ttl":7200,"class":"IN","type":"CNAME","data":"www.sydneyoperahouse.com."},{"name":"alltcpportsopen.firewall.test.zonetransfer.me.","ttl":301,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"testing.zonetransfer.me.","ttl":301,"class":"IN","type":"CNAME","data":"www.zonetransfer.me."},{"name":"vpn.zonetransfer.me.","ttl":4000,"class":"IN","type":"A","data":"174.36.59.154"},{"name":"www.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"xss.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"'>\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"}],"query_time":182,"server":"81.4.108.41#53(81.4.108.41)","when":"Wed Mar 25 20:01:47 PDT 2020","size":"50 records (messages 1, bytes 1994)","when_epoch":1585191707,"when_epoch_utc":null}]
diff --git a/tests/fixtures/osx-10.14.6/dig-axfr.json b/tests/fixtures/osx-10.14.6/dig-axfr.json
index 6187877b..06ac0cbc 100644
--- a/tests/fixtures/osx-10.14.6/dig-axfr.json
+++ b/tests/fixtures/osx-10.14.6/dig-axfr.json
@@ -1 +1 @@
-[{"axfr":[{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"},{"name":"zonetransfer.me.","ttl":300,"class":"IN","type":"HINFO","data":"\"Casio fx-700G\" \"Windows XP\""},{"name":"zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"0 ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT1.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT2.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX2.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX3.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX4.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX5.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm1.digi.ninja."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm2.digi.ninja."},{"name":"_acme-challenge.zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"6Oa05hbUJ9xSsvYy7pApQvwCUSSGgxvrbdizjePEsZI\""},{"name":"_sip._tcp.zonetransfer.me.","ttl":14000,"class":"IN","type":"SRV","data":"0 0 5060 www.zonetransfer.me."},{"name":"14.105.196.5.IN-ADDR.ARPA.zonetransfer.me.","ttl":7200,"class":"IN","type":"PTR","data":"www.zonetransfer.me."},{"name":"asfdbauthdns.zonetransfer.me.","ttl":7900,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"asfdbbox.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"asfdbvolume.zonetransfer.me.","ttl":7800,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"canberra-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"202.14.81.230"},{"name":"contact.zonetransfer.me.","ttl":2592000,"class":"IN","type":"TXT","data":"\"Remember to call or email Pippa on +44 123 4567890 or pippa@zonetransfer.me when making DNS changes\""},{"name":"dc-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"143.228.181.132"},{"name":"deadbeef.zonetransfer.me.","ttl":7201,"class":"IN","type":"AAAA","data":"dead:beaf::"},{"name":"dr.zonetransfer.me.","ttl":300,"class":"IN","type":"LOC","data":"53 20 56.558 N 1 38 33.526 W 0.00m 1m 10000m 10m"},{"name":"DZC.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"AbCdEfG\""},{"name":"email.zonetransfer.me.","ttl":2222,"class":"IN","type":"NAPTR","data":"1 1 \"P\" \"E2U+email\" \"\" email.zonetransfer.me.zonetransfer.me."},{"name":"email.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"74.125.206.26"},{"name":"Hello.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"Hi to Josh and all his class\""},{"name":"home.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"Info.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"ZoneTransfer.me service provided by Robin Wood - robin@digi.ninja. See http://digi.ninja/projects/zonetransferme.php for more information.\""},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns1.zonetransfer.me."},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns2.zonetransfer.me."},{"name":"intns1.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"81.4.108.41"},{"name":"intns2.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"167.88.42.94"},{"name":"office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"4.23.39.254"},{"name":"ipv6actnow.org.zonetransfer.me.","ttl":7200,"class":"IN","type":"AAAA","data":"2001:67c:2e8:11::c100:1332"},{"name":"owa.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"207.46.197.32"},{"name":"robinwood.zonetransfer.me.","ttl":302,"class":"IN","type":"TXT","data":"\"Robin Wood\""},{"name":"rp.zonetransfer.me.","ttl":321,"class":"IN","type":"RP","data":"robin.zonetransfer.me. robinwood.zonetransfer.me."},{"name":"sip.zonetransfer.me.","ttl":3333,"class":"IN","type":"NAPTR","data":"2 3 \"P\" \"E2U+sip\" \"!^.*$!sip:customer-service@zonetransfer.me!\" ."},{"name":"sqli.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"' or 1=1 --\""},{"name":"staging.zonetransfer.me.","ttl":7200,"class":"IN","type":"CNAME","data":"www.sydneyoperahouse.com."},{"name":"alltcpportsopen.firewall.test.zonetransfer.me.","ttl":301,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"testing.zonetransfer.me.","ttl":301,"class":"IN","type":"CNAME","data":"www.zonetransfer.me."},{"name":"vpn.zonetransfer.me.","ttl":4000,"class":"IN","type":"A","data":"174.36.59.154"},{"name":"www.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"xss.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"'>\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"}],"query_time":170,"server":"81.4.108.41#53(81.4.108.41)","when":"Thu Mar 26 16:31:06 PDT 2020","size":"50 records (messages 1, bytes 1994)","when_epoch":1585265466,"when_epoch_utc":null}]
+[{"axfr":[{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"},{"name":"zonetransfer.me.","ttl":300,"class":"IN","type":"HINFO","data":"\"Casio fx-700G\" \"Windows XP\""},{"name":"zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"0 ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT1.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT2.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX2.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX3.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX4.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX5.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm1.digi.ninja."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm2.digi.ninja."},{"name":"_acme-challenge.zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"6Oa05hbUJ9xSsvYy7pApQvwCUSSGgxvrbdizjePEsZI\""},{"name":"_sip._tcp.zonetransfer.me.","ttl":14000,"class":"IN","type":"SRV","data":"0 0 5060 www.zonetransfer.me."},{"name":"14.105.196.5.IN-ADDR.ARPA.zonetransfer.me.","ttl":7200,"class":"IN","type":"PTR","data":"www.zonetransfer.me."},{"name":"asfdbauthdns.zonetransfer.me.","ttl":7900,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"asfdbbox.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"asfdbvolume.zonetransfer.me.","ttl":7800,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"canberra-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"202.14.81.230"},{"name":"cmdexec.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"; ls\""},{"name":"contact.zonetransfer.me.","ttl":2592000,"class":"IN","type":"TXT","data":"\"Remember to call or email Pippa on +44 123 4567890 or pippa@zonetransfer.me when making DNS changes\""},{"name":"dc-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"143.228.181.132"},{"name":"deadbeef.zonetransfer.me.","ttl":7201,"class":"IN","type":"AAAA","data":"dead:beaf::"},{"name":"dr.zonetransfer.me.","ttl":300,"class":"IN","type":"LOC","data":"53 20 56.558 N 1 38 33.526 W 0.00m 1m 10000m 10m"},{"name":"DZC.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"AbCdEfG\""},{"name":"email.zonetransfer.me.","ttl":2222,"class":"IN","type":"NAPTR","data":"1 1 \"P\" \"E2U+email\" \"\" email.zonetransfer.me.zonetransfer.me."},{"name":"email.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"74.125.206.26"},{"name":"Hello.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"Hi to Josh and all his class\""},{"name":"home.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"Info.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"ZoneTransfer.me service provided by Robin Wood - robin@digi.ninja. See http://digi.ninja/projects/zonetransferme.php for more information.\""},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns1.zonetransfer.me."},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns2.zonetransfer.me."},{"name":"intns1.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"81.4.108.41"},{"name":"intns2.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"167.88.42.94"},{"name":"office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"4.23.39.254"},{"name":"ipv6actnow.org.zonetransfer.me.","ttl":7200,"class":"IN","type":"AAAA","data":"2001:67c:2e8:11::c100:1332"},{"name":"owa.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"207.46.197.32"},{"name":"robinwood.zonetransfer.me.","ttl":302,"class":"IN","type":"TXT","data":"\"Robin Wood\""},{"name":"rp.zonetransfer.me.","ttl":321,"class":"IN","type":"RP","data":"robin.zonetransfer.me. robinwood.zonetransfer.me."},{"name":"sip.zonetransfer.me.","ttl":3333,"class":"IN","type":"NAPTR","data":"2 3 \"P\" \"E2U+sip\" \"!^.*$!sip:customer-service@zonetransfer.me!\" ."},{"name":"sqli.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"' or 1=1 --\""},{"name":"sshock.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"() { :]}; echo ShellShocked\""},{"name":"staging.zonetransfer.me.","ttl":7200,"class":"IN","type":"CNAME","data":"www.sydneyoperahouse.com."},{"name":"alltcpportsopen.firewall.test.zonetransfer.me.","ttl":301,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"testing.zonetransfer.me.","ttl":301,"class":"IN","type":"CNAME","data":"www.zonetransfer.me."},{"name":"vpn.zonetransfer.me.","ttl":4000,"class":"IN","type":"A","data":"174.36.59.154"},{"name":"www.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"xss.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"'>\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"}],"query_time":170,"server":"81.4.108.41#53(81.4.108.41)","when":"Thu Mar 26 16:31:06 PDT 2020","size":"50 records (messages 1, bytes 1994)","when_epoch":1585265466,"when_epoch_utc":null}]
diff --git a/tests/fixtures/ubuntu-18.04/dig-axfr.json b/tests/fixtures/ubuntu-18.04/dig-axfr.json
index 1e09a863..61690372 100644
--- a/tests/fixtures/ubuntu-18.04/dig-axfr.json
+++ b/tests/fixtures/ubuntu-18.04/dig-axfr.json
@@ -1 +1 @@
-[{"axfr":[{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"},{"name":"zonetransfer.me.","ttl":300,"class":"IN","type":"HINFO","data":"\"Casio fx-700G\" \"Windows XP\""},{"name":"zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"0 ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT1.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT2.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX2.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX3.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX4.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX5.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm1.digi.ninja."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm2.digi.ninja."},{"name":"_acme-challenge.zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"6Oa05hbUJ9xSsvYy7pApQvwCUSSGgxvrbdizjePEsZI\""},{"name":"_sip._tcp.zonetransfer.me.","ttl":14000,"class":"IN","type":"SRV","data":"0 0 5060 www.zonetransfer.me."},{"name":"14.105.196.5.IN-ADDR.ARPA.zonetransfer.me.","ttl":7200,"class":"IN","type":"PTR","data":"www.zonetransfer.me."},{"name":"asfdbauthdns.zonetransfer.me.","ttl":7900,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"asfdbbox.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"asfdbvolume.zonetransfer.me.","ttl":7800,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"canberra-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"202.14.81.230"},{"name":"contact.zonetransfer.me.","ttl":2592000,"class":"IN","type":"TXT","data":"\"Remember to call or email Pippa on +44 123 4567890 or pippa@zonetransfer.me when making DNS changes\""},{"name":"dc-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"143.228.181.132"},{"name":"deadbeef.zonetransfer.me.","ttl":7201,"class":"IN","type":"AAAA","data":"dead:beaf::"},{"name":"dr.zonetransfer.me.","ttl":300,"class":"IN","type":"LOC","data":"53 20 56.558 N 1 38 33.526 W 0.00m 1m 10000m 10m"},{"name":"DZC.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"AbCdEfG\""},{"name":"email.zonetransfer.me.","ttl":2222,"class":"IN","type":"NAPTR","data":"1 1 \"P\" \"E2U+email\" \"\" email.zonetransfer.me.zonetransfer.me."},{"name":"email.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"74.125.206.26"},{"name":"Hello.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"Hi to Josh and all his class\""},{"name":"home.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"Info.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"ZoneTransfer.me service provided by Robin Wood - robin@digi.ninja. See http://digi.ninja/projects/zonetransferme.php for more information.\""},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns1.zonetransfer.me."},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns2.zonetransfer.me."},{"name":"intns1.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"81.4.108.41"},{"name":"intns2.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"167.88.42.94"},{"name":"office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"4.23.39.254"},{"name":"ipv6actnow.org.zonetransfer.me.","ttl":7200,"class":"IN","type":"AAAA","data":"2001:67c:2e8:11::c100:1332"},{"name":"owa.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"207.46.197.32"},{"name":"robinwood.zonetransfer.me.","ttl":302,"class":"IN","type":"TXT","data":"\"Robin Wood\""},{"name":"rp.zonetransfer.me.","ttl":321,"class":"IN","type":"RP","data":"robin.zonetransfer.me. robinwood.zonetransfer.me."},{"name":"sip.zonetransfer.me.","ttl":3333,"class":"IN","type":"NAPTR","data":"2 3 \"P\" \"E2U+sip\" \"!^.*$!sip:customer-service@zonetransfer.me!\" ."},{"name":"sqli.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"' or 1=1 --\""},{"name":"staging.zonetransfer.me.","ttl":7200,"class":"IN","type":"CNAME","data":"www.sydneyoperahouse.com."},{"name":"alltcpportsopen.firewall.test.zonetransfer.me.","ttl":301,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"testing.zonetransfer.me.","ttl":301,"class":"IN","type":"CNAME","data":"www.zonetransfer.me."},{"name":"vpn.zonetransfer.me.","ttl":4000,"class":"IN","type":"A","data":"174.36.59.154"},{"name":"www.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"xss.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"'>\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"}],"query_time":105,"server":"81.4.108.41#53(81.4.108.41)","when":"Wed Mar 25 14:34:55 EDT 2020","size":"50 records (messages 1, bytes 1994)","when_epoch":1585172095,"when_epoch_utc":null}]
+[{"axfr":[{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"},{"name":"zonetransfer.me.","ttl":300,"class":"IN","type":"HINFO","data":"\"Casio fx-700G\" \"Windows XP\""},{"name":"zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"google-site-verification=tyP28J7JAUHA9fw2sHXMgcCC0I6XBmmoVi04VlMewxA\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"0 ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT1.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"10 ALT2.ASPMX.L.GOOGLE.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX2.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX3.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX4.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"MX","data":"20 ASPMX5.GOOGLEMAIL.COM."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm1.digi.ninja."},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"NS","data":"nsztm2.digi.ninja."},{"name":"_acme-challenge.zonetransfer.me.","ttl":301,"class":"IN","type":"TXT","data":"\"6Oa05hbUJ9xSsvYy7pApQvwCUSSGgxvrbdizjePEsZI\""},{"name":"_sip._tcp.zonetransfer.me.","ttl":14000,"class":"IN","type":"SRV","data":"0 0 5060 www.zonetransfer.me."},{"name":"14.105.196.5.IN-ADDR.ARPA.zonetransfer.me.","ttl":7200,"class":"IN","type":"PTR","data":"www.zonetransfer.me."},{"name":"asfdbauthdns.zonetransfer.me.","ttl":7900,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"asfdbbox.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"asfdbvolume.zonetransfer.me.","ttl":7800,"class":"IN","type":"AFSDB","data":"1 asfdbbox.zonetransfer.me."},{"name":"canberra-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"202.14.81.230"},{"name":"cmdexec.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"; ls\""},{"name":"contact.zonetransfer.me.","ttl":2592000,"class":"IN","type":"TXT","data":"\"Remember to call or email Pippa on +44 123 4567890 or pippa@zonetransfer.me when making DNS changes\""},{"name":"dc-office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"143.228.181.132"},{"name":"deadbeef.zonetransfer.me.","ttl":7201,"class":"IN","type":"AAAA","data":"dead:beaf::"},{"name":"dr.zonetransfer.me.","ttl":300,"class":"IN","type":"LOC","data":"53 20 56.558 N 1 38 33.526 W 0.00m 1m 10000m 10m"},{"name":"DZC.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"AbCdEfG\""},{"name":"email.zonetransfer.me.","ttl":2222,"class":"IN","type":"NAPTR","data":"1 1 \"P\" \"E2U+email\" \"\" email.zonetransfer.me.zonetransfer.me."},{"name":"email.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"74.125.206.26"},{"name":"Hello.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"Hi to Josh and all his class\""},{"name":"home.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"Info.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"ZoneTransfer.me service provided by Robin Wood - robin@digi.ninja. See http://digi.ninja/projects/zonetransferme.php for more information.\""},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns1.zonetransfer.me."},{"name":"internal.zonetransfer.me.","ttl":300,"class":"IN","type":"NS","data":"intns2.zonetransfer.me."},{"name":"intns1.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"81.4.108.41"},{"name":"intns2.zonetransfer.me.","ttl":300,"class":"IN","type":"A","data":"167.88.42.94"},{"name":"office.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"4.23.39.254"},{"name":"ipv6actnow.org.zonetransfer.me.","ttl":7200,"class":"IN","type":"AAAA","data":"2001:67c:2e8:11::c100:1332"},{"name":"owa.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"207.46.197.32"},{"name":"robinwood.zonetransfer.me.","ttl":302,"class":"IN","type":"TXT","data":"\"Robin Wood\""},{"name":"rp.zonetransfer.me.","ttl":321,"class":"IN","type":"RP","data":"robin.zonetransfer.me. robinwood.zonetransfer.me."},{"name":"sip.zonetransfer.me.","ttl":3333,"class":"IN","type":"NAPTR","data":"2 3 \"P\" \"E2U+sip\" \"!^.*$!sip:customer-service@zonetransfer.me!\" ."},{"name":"sqli.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"' or 1=1 --\""},{"name":"sshock.zonetransfer.me.","ttl":7200,"class":"IN","type":"TXT","data":"\"() { :]}; echo ShellShocked\""},{"name":"staging.zonetransfer.me.","ttl":7200,"class":"IN","type":"CNAME","data":"www.sydneyoperahouse.com."},{"name":"alltcpportsopen.firewall.test.zonetransfer.me.","ttl":301,"class":"IN","type":"A","data":"127.0.0.1"},{"name":"testing.zonetransfer.me.","ttl":301,"class":"IN","type":"CNAME","data":"www.zonetransfer.me."},{"name":"vpn.zonetransfer.me.","ttl":4000,"class":"IN","type":"A","data":"174.36.59.154"},{"name":"www.zonetransfer.me.","ttl":7200,"class":"IN","type":"A","data":"5.196.105.14"},{"name":"xss.zonetransfer.me.","ttl":300,"class":"IN","type":"TXT","data":"\"'>\""},{"name":"zonetransfer.me.","ttl":7200,"class":"IN","type":"SOA","data":"nsztm1.digi.ninja. robin.digi.ninja. 2019100801 172800 900 1209600 3600"}],"query_time":105,"server":"81.4.108.41#53(81.4.108.41)","when":"Wed Mar 25 14:34:55 EDT 2020","size":"50 records (messages 1, bytes 1994)","when_epoch":1585172095,"when_epoch_utc":null}]