本文整理汇总了Python中wrapper.Wrapper.makeReportDir方法的典型用法代码示例。如果您正苦于以下问题:Python Wrapper.makeReportDir方法的具体用法?Python Wrapper.makeReportDir怎么用?Python Wrapper.makeReportDir使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wrapper.Wrapper
的用法示例。
在下文中一共展示了Wrapper.makeReportDir方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: processReports
# 需要导入模块: from wrapper import Wrapper [as 别名]
# 或者: from wrapper.Wrapper import makeReportDir [as 别名]
def processReports(self, option):
""" Login to nessus, export and download nessus- or summary-reports """
names = []
Wrapper.msg('Login to Nessus on ' + "'" + self.opts['nessus_url'] + "'")
nessus = Nessus(self.opts['nessus_url'])
nessus.login(self.opts['nessus_login']['user'],
self.opts['nessus_login']['pass'])
if not nessus.login:
Wrapper.error('Cannot login in to Nessus')
# get scan lists
Wrapper.msg('Fetching the scan lists')
scan_list = nessus.getScanList()
# export and download nessus reports
if option == 'report':
Wrapper.msg('Exporting and downloading reports')
outdir = Wrapper.makeReportDir(self.opts['outdir'])
for scan in scan_list['scans']:
if scan['name'] in self.opts['addrbook']:
if scan['status'] == 'completed':
scan_details = nessus.getScan(scan['id'])
end_date = datetime.datetime.fromtimestamp(
int(scan_details['info']['scan_end'])
).strftime('%Y-%m-%d')
if end_date == TODAY or end_date == YESTERDAY:
for root, dirs, files in os.walk(
self.opts['outdir'] + '/' + YESTERDAY):
names.append(files)
for root, dirs, files in os.walk(
self.opts['outdir'] + '/' + TODAY):
names.append(files)
names = [i for sublist in names for i in sublist]
if scan['name'] + '.html' not in names:
file_id = nessus.exportScanResult(scan['id'],
self.opts['format'],
self.opts['nessus_chapters'])['file']
# wait before downloading reports if status is
# not OK
if not nessus.exportStatusCheck(scan['id'],
file_id):
time.sleep(int(self.opts['sleep']))
nessus.downloadReport(scan['id'], file_id,
self.opts['format'], scan['name'],
outdir)
# create and download summary
else:
Wrapper.msg('Creating the summary report')
outdir = Wrapper.makeReportDir(self.opts['outdir'])
for scan in scan_list['scans']:
if scan['name'] in self.opts['addrbook']:
if scan['status'] == 'completed':
scan_res = nessus.getScan(scan['id'])
for h in range(len(scan_res['hosts'])):
host_id = scan_res['hosts'][h]['host_id']
res = nessus.getHostDetails(scan['id'], host_id)
for r in res['vulnerabilities']:
# critical, high, medium
if r['severity'] in (4, 3, 2):
with open(os.path.join(outdir, 'summary.txt'), 'a') as f:
f.write('project: ' + scan['name'] +
' host: ' + r['hostname'] +
' issue: ' + r['plugin_name'] + '\n')
# logout of nessus
Wrapper.msg('Logout of nessusd')
nessus.logout()
return