我遇到以下问题:实际上,我正在为ovirt服务器制作一个脚本,以自动删除虚拟机,包括从DNS中注销它们。但是对于某些非常特定的虚拟机,一个IP地址示例有多个FQDN:
$(document).ready(function() {
$(routePlan_form).submit(function(e){
e.preventDefault();
$.ajax({
type: "POST",
url: "/pages/voyages/passageplans/createroute.php",
dataType: 'json',
data: $("#routePlan_form").serialize(),
'success': function(data) {
if(data['success']) {
//refresh the table
$("#table").load(location.href + " #table");
//reset the form
$('#routePlan_form').trigger("reset");
//scroll to the top
window.scrollTo({ top: 0, behavior: 'smooth' });
//send the user a success message
resetToastPosition();
$.toast({
heading: 'Success',
text: 'Waypoint added successfully',
textColor: 'white',
showHideTransition: 'slide',
hideAfter : 7000,
icon: 'success',
loaderBg: '#f96868',
position: 'top-center'
})
} else {
var i;
for (i = 0; i < data['message'].length; i++) {
//scroll to the top
window.scrollTo({ top: 0, behavior: 'smooth' });
this.error(this.xhr, data['message'][i]);
$("#"+data['fields'][i]).addClass("form-control-danger");
$('<label id="'+data['fields'][i]+'"-error" class="badge badge-danger" for="'+data['fields'][i]+'">'+data['message'][i]+'</label>').insertAfter("#"+data['fields'][i]);
}
}
},
'error': function(jqXHR, textStatus, errorThrown) {
//send the user a success message
resetToastPosition();
$.toast({
heading: 'Error',
text: '' + textStatus,
textColor: 'white',
showHideTransition: 'slide',
hideAfter : 10000,
icon: 'error',
bgColor: '#f96868',
position: 'top-center',
loaderBg: '#405189'
})
}
})
})
});
我尝试使用python中的套接字来执行此操作,但它只返回一个答案,我也尝试过使用dnspython进行python操作,但失败了。 目标是计算dns服务器上A型记录的数量 任何人有想法做这样的事情?
答案 0 :(得分:1)
那是完全不可能的。如果心情合适,我可以在DNS服务器中添加指向您IP地址的条目。通常,您无法找到它(某些协议(例如http(s))中的一些提示除外)。
答案 1 :(得分:0)
鉴于上述格式的区域文件,您可以执行以下操作...
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 lookup hostname from IP with 1 second timeout
但这确实要求您查询的DNS服务器已正确配置PTR反向记录。