예제 #1
0
            for tr_elem in tr:
                tr_elem.lookup_geoloc(ml)
                tr_elem.lookup_asnum(al)
                tr_elem.set_fqdn()
                tr_elem.update_db(conn)
            #print tr
            lock.release()
        else:
            print "cannot acquire lock file"
            sys.exit(0)
    else:
        # just left-over debugging code
        mode = "L"
        start = 1
        if sys.argv[1][0] == '-':
            mode = sys.argv[1][1]
            start = 2
        interests = create_from_file({}, InterestAttribute.factory, "interests.txt")
        print interests
        owners = create_from_file({}, CHOwner.factory, "owners.txt")
        print owners
        chotels = create_from_file({}, CHotel.factory, "chotels.txt")
        print chotels
        for addr in sys.argv[start:]:
            print "%-16s" % addr,
            print ml.query_dquad(addr),
            print " AS"+str(al.query_dquad(addr)[0])

    del al
    del ml
예제 #2
0
# bogus "reasonable default" announcements.  The 
# RouteViews data does not have this "feature".

# edit this variable to either True or False
do_update=True
#
######################################################

from ixmaps import ASNumSockLookup,DBConnect

def update_asn(conn, ip_addr, rv_asn):
    conn.query("update ip_addr_info set asnum=%d where ip_addr='%s'" % (rv_asn, ip_addr))

al = ASNumSockLookup("A")

conn = DBConnect.getConnection()

dr = conn.query("select ip_addr,asnum,p_status from ip_addr_info").dictresult()


diff_count = 0
for d in dr:
    rv_asn = int(al.query_dquad(d['ip_addr'])[0])
    if rv_asn != d['asnum']:
        print "%(ip_addr)s %(asnum)d s=%(p_status)s" % d,
        print rv_asn
        diff_count += 1
        if do_update:
            update_asn(conn, d['ip_addr'], rv_asn)
print "%d IPv4 addrs, %d differing ASnums" % (len(dr), diff_count)