[英]Get all FQDN for an IP address in python
我有以下問題:我實際上是在為ovirt服務器制作一個腳本,以自動刪除包含從DNS注銷的虛擬機。 但是對於某些非常特定的虛擬機,一個IP地址示例有多個FQDN:
myfirstfqdn.com IN A 10.10.10.10
mysecondfqdn.com IN A 10.10.10.10
我試過用python中的套接字來做,但是它只返回一個答案,我也試過用dnspython進行python,但是失敗了。 目標是計算dns服務器上A型記錄的數量。有人有想法做這樣的事情嗎?
那是絕對不可能的。 如果心情合適,我可以在DNS服務器中添加指向您IP地址的條目。 通常,您無法找到它(某些協議(例如http(s))中的某些提示除外)。
給定上述格式的區域文件,您可以執行以下操作...
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)
注意:可以像這樣使用套接字- 通過IP進行Python查找主機名,超時時間為1秒
但是,這確實要求您查詢的DNS服務器已正確配置了PTR反向記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.