#!/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='yandex.ru') 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()