给定上述格式的区域文件,您可以执行类似...
from collections import defaultdict
zone_file = """myfirstfqdn.com IN A 10.10.10.10
mysecondfqdn.com IN A 10.10.10.10"""
# Build mapping for lookups
ip_fqdn_mapping = defaultdict(list)
for record in zone_file.split("\n"):
fqdn, record_class, record_type, ip_address = record.split()
ip_fqdn_mapping[ip_address].append(fqdn)
# Lookup
ip_address_to_lookup = "10.10.10.10"
fqdns = ip_fqdn_mapping[ip_address_to_lookup]
print(fqdns)
注意:可以像这样使用套接字 - Python 从 IP 查找主机名,超时时间为 1 秒
但是,这确实需要您查询的 DNS 服务器已正确配置 PTR 反向记录。
https://www.cloudns.net/wiki/article/40/