1import sys 2 3from twisted.internet import task 4from twisted.names import client 5 6 7def reverseNameFromIPAddress(address): 8 return ".".join(reversed(address.split("."))) + ".in-addr.arpa" 9 10 11def printResult(result): 12 answers, authority, additional = result 13 if answers: 14 a = answers[0] 15 print(f"{a.name.name} IN {a.payload}") 16 17 18def main(reactor, address): 19 d = client.lookupPointer(name=reverseNameFromIPAddress(address=address)) 20 d.addCallback(printResult) 21 return d 22 23 24task.react(main, sys.argv[1:]) 25