def save(self): logger.log('DEBUG', '正在保存检查结果') if self.format == 'txt': data = str(self.results) else: data = self.results.export(self.format) utils.save_data(self.path, data)
def get_nameservers_path(enable_wildcard, ns_ip_list): path = config.brute_nameservers_path if not enable_wildcard: return path if not ns_ip_list: return path path = config.authoritative_dns_path ns_data = '\n'.join(ns_ip_list) utils.save_data(path, ns_data) return path
def export(table, db=None, alive=False, limit=None, path=None, format='csv', show=False): """ OneForAll数据库导出模块 Example: python3 dbexport.py --table name --format csv --dir= ./result.csv python3 dbexport.py --db result.db --table name --show False Note: 参数alive可选值True,False分别表示导出存活,全部子域结果 参数format可选格式有'txt', 'rst', 'csv', 'tsv', 'json', 'yaml', 'html', 'jira', 'xls', 'xlsx', 'dbf', 'latex', 'ods' 参数path默认None使用OneForAll结果目录自动生成路径 :param str table: 要导出的表 :param str db: 要导出的数据库路径(默认为results/result.sqlite3) :param bool alive: 只导出存活的子域结果(默认False) :param str limit: 导出限制条件(默认None) :param str format: 导出文件格式(默认csv) :param str path: 导出文件路径(默认None) :param bool show: 终端显示导出数据(默认False) """ database = Database(db) rows = database.export_data(table, alive, limit) format = utils.check_format(format, len(rows)) path = utils.check_path(path, table, format) if show: print(rows.dataset) data = rows.export(format) database.close() utils.save_data(path, data) logger.log('INFOR', f'{table}主域的子域结果 {path}') data_dict = rows.as_dict() return data_dict
def save_brute_dict(dict_path, dict_set): dict_data = '\n'.join(dict_set) if not utils.save_data(dict_path, dict_data): logger.log('FATAL', '保存生成的字典出错') exit(1)
def save_subdomains(save_path, subdomain_list): logger.log('DEBUG', f'正在保存待解析的子域') subdomain_data = '\n'.join(subdomain_list) if not utils.save_data(save_path, subdomain_data): logger.log('FATAL', '保存待解析的子域出错') exit(1)