DNS-checker

This commit is contained in:
d.dobrynin 2021-09-20 21:48:54 +03:00
parent 9b0a6a4c9f
commit c2c4441c81

50
dns_checker.py Executable file
View File

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