def ip_check(ip): domains = exper(ip, spider_id=[1, 2, 3]) ip_same, ip_diff = [], [] for domain in domains: ip_temp = obtaining_domain_ip(domain) if ip in ip_temp: ip_same.append([domain, ip_temp]) else: ip_diff.append([domain, ip_temp]) for info in ip_same: domain, ip_final = info[0], info[1] if domain: sql = """INSERT INTO ip_mapping_relations_real (ip_origin, domain, ip) VALUES ('{ip_origin}', '{domain}', '{ip}') """.format( ip_origin=ip, domain=domain, ip=';'.join(ip_final)) print sql DB().insert(sql) else: pass for info in ip_diff: domain, ip_final = info[0], info[1] if domain: sql = """INSERT INTO ip_mapping_relations_real (ip_origin, domain, ip) VALUES ('{ip_origin}', '{domain}', '{ip}') """.format( ip_origin=ip, domain=domain, ip=';'.join(ip_final)) print sql DB().insert(sql) else: pass
def ip_check(ip): domains = exper(ip, spider_id=[1, 2, 3]) ip_domain_relations = [] for domain in domains: ip_temp = obtaining_domain_ip(domain) for ip in ip_temp: ip_domain_relations.append([domain, ip_temp]) for info in ip_domain_relations: domain, ip_final = info[0], info[1] if ip in ip_final: sql = """INSERT INTO ip_domains (origin_ip, domain, dns_ip) VALUES ('{ip_origin}', '{domain}', '{ip}') """.format( ip_origin=ip, domain=domain, ip=';'.join(ip_final)) print sql DB().insert(sql) else: sql = """INSERT INTO ip_domain_history (origin_ip, domain, dns_ip) VALUES ('{ip_origin}', '{domain}', '{ip}') """.format( ip_origin=ip, domain=domain, ip=';'.join(ip_final)) print sql DB().insert(sql) pass
def exper(ip, spider_id): generator, rst = [], [] try: if 1 in spider_id: bgp = BGPSpider() # print bgp.spider(ip) generator.append(i for i in bgp.spider(ip)['domains']) bgp.destory_driver() if 2 in spider_id: dbd = DomainBigDataSpider() # print dbd.spider(ip) generator.append(i for i in dbd.spider(ip)['domains']) if 3 in spider_id: aizhan = AizhanSpider() # print aizhan.spider(ip) generator.append(i for i in aizhan.spider(ip)['domains']) for domains in generator: for domain in domains: rst.append(domain) send_message = (ip, rst) MQ.publish(queue=DNS_VERIFICATION, data=str(send_message)) print(" [x] Sent Success!") try: domain_list = ';'.join(rst) DB().insert(generate_sql_by_ip_domain(ip=ip, domain=domain_list)) except Exception as e: return e # return ip, rst # connection = pika.BlockingConnection( # pika.ConnectionParameters(host='10.245.146.146', port=5672, # credentials=pika.PlainCredentials("hit", "hit"))) # channel = connection.channel() # channel.queue_declare(queue='dns_verification') # channel.basic_publish(exchange='', # routing_key='dns_verification', # body=str(send_message)) except Exception as e: print e pass
def get_info(): DB().db.cursor().execute() info = DB().db.cursor().fetchall() for i in info: print i