def resolve(dns, nameserver): global resolved #additional args for ports nameserver_ports = {} for i in nameserver: if ":" in i: #if ports are different remove default port ip, port = i.split(":") port = int(port) ind = nameserver.index(i) nameserver[ind] = i.split(":")[0] nameserver_ports[ip] = port # if dnserver is not reachable exetime = 0 try: resolver = Resolver() resolver._nameservers = nameserver resolver.nameserver_ports = nameserver_ports resolver.timeout = 10 #Starting time c_time = datetime.now() resolver.resolve('example.com', 'A') #Time excuted exetime = int((datetime.now() - c_time).total_seconds() * 1000) except Exception as e: #print(e) pass resolved[dns]['IPv4'] = exetime