Pandas dns csv

From UVOO Tech Wiki
Revision as of 18:48, 7 May 2024 by Busk (talk | contribs) (Created page with "``` #!/usr/bin/env python3 import csv import sys import dns.resolver import numpy as np import time import pandas as pd def query_dns_a_record(domain, resolver_ip): # p...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
#!/usr/bin/env python3

import csv
import sys

import dns.resolver
import numpy as np
import time
import pandas as pd

def query_dns_a_record(domain, resolver_ip):
    # print(domain)
    # print(resolver_ip)
    ext = dns.resolver.Resolver(configure=False)
    ext.nameservers = ['8.8.8.8']
    try:
        result = ext.resolve(domain, 'A')
        return [str(rdata) for rdata in result]

    except (dns.resolver.NoAnswer, dns.resolver.NXDOMAIN):
        # print(f"Could not resolve {domain}")
        return []


def strip_quotes(val):
    return val.replace('"', '')

def get_cname():
    df = pd.read_csv('CNAME.csv', converters={i: strip_quotes for i in range(100)})
    for index, row in df.iterrows():
        # print(row['Name'], row['Data'])
        records = query_dns_a_record(row['Data'], "8.8.8.8")
        print(f"{row['Data']} {records}")
        # time.sleep(5)

def get_a():
    df = pd.read_csv('A.csv', converters={i: strip_quotes for i in range(100)})
    for index, row in df.iterrows():
        if "66.133" in row['Data']:
            print(f"{row['Name']}.{row['Zone']} {row['Data']}")


def xget_a(filename, mstring):
    with open(filename, 'r') as csvfile:
        csvreader = csv.reader(csvfile)
        for row in csvreader:
            if mstring in row[3]:
                print(row[1], row[3])




# get_a()
get_cname()