dns_checker/dns_checker.py

51 lines
1.2 KiB
Python
Raw Permalink Normal View History

2021-09-20 21:48:54 +03:00
#!/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')
2021-09-20 21:48:54 +03:00
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()