本文整理汇总了Python中models.Report.scan_info['scan_start']方法的典型用法代码示例。如果您正苦于以下问题:Python Report.scan_info['scan_start']方法的具体用法?Python Report.scan_info['scan_start']怎么用?Python Report.scan_info['scan_start']使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类models.Report
的用法示例。
在下文中一共展示了Report.scan_info['scan_start']方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: parse
# 需要导入模块: from models import Report [as 别名]
# 或者: from models.Report import scan_info['scan_start'] [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