擅长:python、mysql、java
<p>给定上述格式的区域文件,您可以做类似于。。。在</p>
<pre><code>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)
</code></pre>
<p>注意:使用socket可以像这样-<a href="https://stackoverflow.com/questions/2575760/python-lookup-hostname-from-ip-with-1-second-timeout">Python lookup hostname from IP with 1 second timeout</a></p>
<p>但是,这需要您正在查询的DNS服务器正确配置了PTR反向记录。在</p>
<p><a href="https://www.cloudns.net/wiki/article/40/" rel="nofollow noreferrer">https://www.cloudns.net/wiki/article/40/</a></p>