添加cidr,asn,addr字段

This commit is contained in:
Jing Ling
2020-06-18 10:38:41 +08:00
parent 771502cc2c
commit 171440ae59
11 changed files with 163 additions and 23 deletions
+17
View File
@@ -5,6 +5,8 @@ from config.log import logger
from config import setting
from common import utils
from common.database import Database
from common.ipasn import IPAsnInfo
from common.ipgeo import IpGeoInfo
def filter_subdomain(data):
@@ -71,6 +73,8 @@ def save_subdomains(save_path, subdomain_list):
def deal_output(output_path):
logger.log('INFOR', f'Processing resolved results')
records = dict() # 用来记录所有域名解析数据
ip_asn = IPAsnInfo()
ip_geo = IpGeoInfo
with open(output_path) as fd:
for line in fd:
line = line.strip()
@@ -102,6 +106,9 @@ def deal_output(output_path):
ips = list()
public = list()
ttls = list()
cidrs = list()
asns = list()
addrs = list()
answers = data.get('answers')
for answer in answers:
if answer.get('type') == 'A':
@@ -113,12 +120,22 @@ def deal_output(output_path):
ttls.append(str(ttl))
is_public = utils.ip_is_public(ip)
public.append(str(is_public))
asn_info = ip_asn.find(ip)
cidrs.append(asn_info.get('cidr'))
asns.append(asn_info.get('asn'))
addr = f'{ip_geo.get_country_long(ip)} ' \
f'{ip_geo.get_region(ip)} ' \
f'{ip_geo.get_city(ip)}'
addrs.append(addr)
record['resolve'] = 1
record['reason'] = status
record['cname'] = ','.join(cname)
record['content'] = ','.join(ips)
record['public'] = ','.join(public)
record['ttl'] = ','.join(ttls)
record['cidr'] = ','.join(cidrs)
record['asn'] = ','.join(asns)
record['addr'] = ','.join(addrs)
records[qname] = record
if not flag:
record['alive'] = 0