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()