+def reverse_lookup(ip):
+ """Returns an iterator of fqdns for the given IP address.
+
+ :param ip: Instance of ipaddr.IPv4Address or ipaddr.IPv6Address"""
+ filename = '/var/cache/bind/dyn.colgarra.priv.at'
+ zonename = os.path.basename(filename)
+ zone = dns.zone.from_file(filename, zonename, relativize=False)
+ for name, ttl, rdata in zone.iterate_rdatas(ipfamily_by_ip(ip)):
+ if ipaddr.IPAddress(rdata.address) == ip:
+ yield str(name)
+
+