Example #1
0
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
Example #2
0
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
Example #3
0
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