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


Python Report.results_by_host方法代码示例

本文整理汇总了Python中models.Report.results_by_host方法的典型用法代码示例。如果您正苦于以下问题:Python Report.results_by_host方法的具体用法?Python Report.results_by_host怎么用?Python Report.results_by_host使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在models.Report的用法示例。


在下文中一共展示了Report.results_by_host方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: parse

# 需要导入模块: from models import Report [as 别名]
# 或者: from models.Report import results_by_host [as 别名]
def parse(document):
    root = etree.parse(document)
    report = Report(root.xpath('/report/@id')[0])
    
    # Fill the scan_info dictionary
    report.scan_info['scan_start'] = root.xpath('//scan_start')[0].text
    report.scan_info['scan_end'] = root.xpath('//scan_end')[0].text
    report.scan_info['command'] = "" #@TODO: get command field
    
    #@TODO: add a safety net
    general_scan_info  = root.xpath('//nvt[@oid="1.3.6.1.4.1.25623.1.0.19506"]/../description')[0].text    
    report.scan_info['version'], report.scan_info['extrainfo'] = re.search("OpenVAS version : (.*)\s(.*)", general_scan_info).group(1,2)

    # iterate over vulnerabilities
    for result in root.xpath('//result'):
        hostname = b64encode(result.xpath('host')[0].text) # hostname has to be base64 encode to prevent "." in key (mongodb issue)
        
        # check if result already exist for the hostname
        if not report.results_by_host.has_key(hostname):
            report.results_by_host[hostname] = []
            
        vuln = {}
        
        # Summary
        vuln['description'] = result.xpath('description')[0].text.strip()
        vuln['name'] = result.xpath('nvt/name')[0].text
        vuln['service'] = result.xpath('port')[0].text
        
        # Risk
        vuln['risk_factor'] = result.xpath('nvt/risk_factor')[0].text
        vuln['cvss'] = result.xpath('nvt/cvss_base')[0].text
        vuln['threat'] = result.xpath('threat')[0].text
        
        # References
        vuln['nvtid'] = result.xpath('nvt/@oid')[0] #oid attribute
        cve = result.xpath('nvt/cve')[0].text
        vuln['cve'] = cve if cve != 'NOCVE' else None
        bid = result.xpath('nvt/bid')[0].text
        vuln['bid'] = bid if bid != 'NOBID' else None
        
        # append vulnerability to results list
        report.results_by_host[hostname].append(vuln)
        
    report.results_by_host = __cleanupResults(report.results_by_host)
    return report
开发者ID:pblondin,项目名称:Phoenorama-CORE,代码行数:47,代码来源:parser.py


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