def hostname_to_asn(hostname): asn = None ips = name_to_ips(hostname) for ip in ips: asn = ip_to_asn(ip) if asn is not None: return asn return asn
def setup_asn_resolver(): result = [] records = dns.resolver.query('routeviews.org', 'NS') for r in records: ips = name_to_ips(str(r)) for ip in ips: result.append(str(ip)) global asnresolver asnresolver = copy.copy(dns.resolver.get_default_resolver()) asnresolver.nameserver = result
def generateOneCountry(category, zone, hosts): for h in hosts: domainname = domainTemplateToName(category.GeoDNSDomain, h.country) n = dns.name.from_text(domainname) try: ips = [IPy.IP(h.name)] except ValueError: ips = name_to_ips(h.name) except: continue for ip in ips: if ip.version() == 4: rdatasetA = zone.find_rdataset(n, rdtype=A, create=True) rdata = dns.rdtypes.IN.A.A(IN, A, ip.strNormal()) rdatasetA.add(rdata, ttl=default_ttl) elif ip.version() == 6: rdatasetAAAA = zone.find_rdataset(n, rdtype=AAAA, create=True) rdata = dns.rdtypes.IN.AAAA.AAAA(IN, AAAA, ip.strNormal()) rdatasetAAAA.add(rdata, ttl=default_ttl) else: continue