# Author: Kerry Cordero # Version: 1.0.0 # Description: This script will scan both Internal and External DNS import dns.resolver from prettytable import PrettyTable from colorama import Fore, init # Initialize colorama init(autoreset=True) def check_dns_record(fqdn, server): resolver = dns.resolver.Resolver() resolver.nameservers = [server] resolver.timeout = 10 resolver.lifetime = 10 try: answers = resolver.resolve(fqdn, 'A') for rdata in answers: return str(rdata) except dns.resolver.NXDOMAIN: return None def main(): fqdn = input("Please enter the FQDN: ") internal_dns = "8.8.8.8" external_dns = "4.2.2.2" internal_response = check_dns_record(fqdn, internal_dns) external_response = check_dns_record(fqdn, external_dns) table = PrettyTable() table.field_names = ["DNS Server", "Response"] if internal_response: table.add_row([internal_dns, f"{Fore.GREEN}Yes{Fore.RESET}, IP: {internal_response}"]) else: table.add_row([internal_dns, f"{Fore.RED}No{Fore.RESET}"]) if external_response: table.add_row([external_dns, f"{Fore.GREEN}Yes{Fore.RESET}, IP: {external_response}"]) else: table.add_row([external_dns, f"{Fore.RED}No{Fore.RESET}"]) print(table) if __name__ == "__main__": main()