当前位置: 首页>>代码示例>>Python>>正文


Python Wrapper.makeReportDir方法代码示例

本文整理汇总了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
开发者ID:rocket-internet-berlin,项目名称:RocketNessusHelper,代码行数:79,代码来源:controller.py


注:本文中的wrapper.Wrapper.makeReportDir方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。