添加导出纯子域结果功能

This commit is contained in:
Jing Ling
2020-05-09 18:48:16 +08:00
parent 2535b62dbe
commit 0e3584d906
2 changed files with 33 additions and 12 deletions
+32 -11
View File
@@ -309,17 +309,7 @@ def check_value(values):
return values return values
def export_all(format, path, datas): def export_all_results(path, name, format, datas):
"""
将所有结果数据导出到一个文件
:param str format: 导出文件格式
:param str path: 导出文件路径
:param list datas: 待导出的结果数据
"""
format = check_format(format, len(datas))
timestamp = get_timestring()
name = f'all_subdomain_result_{timestamp}'
path = check_path(path, name, format) path = check_path(path, name, format)
logger.log('INFOR', f'所有主域的子域结果 {path}') logger.log('INFOR', f'所有主域的子域结果 {path}')
row_list = list() row_list = list()
@@ -338,6 +328,37 @@ def export_all(format, path, datas):
save_data(path, content) save_data(path, content)
def export_all_subdomains(alive, path, name, datas):
path = check_path(path, name, 'txt')
subdomains = set()
for row in datas:
subdomain = row.get('subdomain')
if alive:
if not row.get('alive'):
continue
subdomains.add(subdomain)
else:
subdomains.add(subdomain)
data = '\n'.join(subdomains)
save_data(path, data)
def export_all(alive, format, path, datas):
"""
将所有结果数据导出到一个文件
:param str format: 导出文件格式
:param str path: 导出文件路径
:param list datas: 待导出的结果数据
"""
format = check_format(format, len(datas))
timestamp = get_timestring()
name = f'all_subdomain_result_{timestamp}'
export_all_results(path, name, format, datas)
export_all_subdomains(alive, path, name, datas)
def dns_resolver(): def dns_resolver():
""" """
dns解析器 dns解析器
+1 -1
View File
@@ -236,7 +236,7 @@ class OneForAll(object):
if self.domains: if self.domains:
for self.domain in self.domains: for self.domain in self.domains:
self.main() self.main()
utils.export_all(self.format, self.path, self.datas) utils.export_all(self.alive, self.format, self.path, self.datas)
else: else:
logger.log('FATAL', f'Failed to obtain domain') logger.log('FATAL', f'Failed to obtain domain')
logger.log('INFOR', f'Finished OneForAll') logger.log('INFOR', f'Finished OneForAll')