mirror of
https://github.com/shmilylty/OneForAll.git
synced 2026-08-25 20:37:48 +08:00
添加cidr,asn,addr字段
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user