From c2c4441c81033700fbb8ca51c048904a5b183455 Mon Sep 17 00:00:00 2001 From: "d.dobrynin" Date: Mon, 20 Sep 2021 21:48:54 +0300 Subject: [PATCH] DNS-checker --- dns_checker.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100755 dns_checker.py diff --git a/dns_checker.py b/dns_checker.py new file mode 100755 index 0000000..823c5ec --- /dev/null +++ b/dns_checker.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python + +import os +import argparse +from prettytable import PrettyTable + +TABLE_DNS = PrettyTable() +TABLE_DNS.hrules = True +DIG_CMD = 'dig {record} @{ns_server} {_type} +short' +DEFAULT_DNS_SERVERS = [ + #добавить список любых DNS-серверов +] + +parser = argparse.ArgumentParser( + description="Script for checking DNS records only.") + +def get_params(): + + parser.add_argument( + "-t", "--type", + dest="_type", + default='', + metavar='A', + help="Type of record for check, default use A-record ") + + parser.add_argument( + "-d", "--dns", + dest="record", + help="Domain for check", + metavar='i-free.com') + + args = parser.parse_args() + return args + +def main(): + + TABLE_DNS.field_names = ["NS-SERVER", "VALUE"] + params = get_params() + record = params.record + _type = params._type + + for ns_server in DEFAULT_DNS_SERVERS: + cmd = DIG_CMD.format(record=record, _type=_type, ns_server=ns_server) + value = os.popen(cmd).read() + TABLE_DNS.add_row([ns_server, value.strip()]) + + print(TABLE_DNS) + +if __name__ == '__main__': + main()