Qualys扫描自动化的python代码实现

本文介绍了如何使用Python实现Qualys扫描自动化,详细讲述了准备工作,包括安装Python和qualysapi库,以及下载Qualys API文档。文章还讨论了解决的难点,如通过QGConnector.request发送请求以满足特定功能,创建指定扫描任务报告的方法,以及如何下载HTML格式的扫描报告。最后,提供了代码实现的相关细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近花了几天的时间研究了Qualys扫描的自动化调用方式,基于python实现。这里记录了中间遇到的一些问题、解决方式,最终给出了代码实现。

准备工作

除了安装python(我本地安装的是python3.7)之外,还需要进行如下2步准备:

1. 下载Qualys Developer API文档

https://www.qualys.com/documentation/

下载文档Qualys API (VM, PC) User Guide,确定server api url和各功能api接口的url及参数

 

 

 

2. 安装python第三方库qualysapi

github网址:https://github.com/paragbaxi/qualysapi

安装方式:

pip install qualysapi

解决的难点问题

1. 第三方库qualysapi提供的部分实现方法无法满足功能

比如新建报告的方法launchReport,该方法提供的输入参数有限,无法满足接口调用的功能要求。这时可以通过偏底层的QGConnector.request发送请求。例如:

response_text = self.con.request("/api/2.0/fo/report",
                                 {"action": 'launch', "report_title": report_title, "report_refs": scan_refs,
                                 "output_format": output_format, "template_id": template_id,
                                  "report_type": "Scan"})

 

 

2. 如何生成指定的某个扫描任务的报告

 

通过研究和验证发现,Qualys支持新建报告模板,可以通过listReportTemplates()查看所有的报告模板。报告模板分为2种类型: Host Based Report Template和Scan Based Report Template,其中Scan Based Report Template能够通过指定扫描任务的scan reference(简称scan ref)来生成报告。要生成指定扫描任务的报告,需要新建Scan Based Report Template,获取报告模板的template_id,再加上扫描任务的scan ref,即可创建报告。需要说明的是,创建报告时,如果指定的报告模板是(默认的)基于HOST的模板,api接口参数scan

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值