通过gmp或osp与gvm对话的工具
gvm-tools的Python项目详细描述
绿骨漏洞管理工具
绿骨脆弱性管理工具或简称gvm工具 是有助于远程控制 greenbone security manager(gsm)设备及其底层greenbone 漏洞管理器(gvm)。这些工具基本上有助于访问 通信协议gmp(绿骨管理协议)和osp (打开扫描仪协议)。
此模块由交互和非交互客户端组成。 交互脚本直接支持编程语言python。 但也可以在不编程的情况下发出远程gmp/osp命令。 Python。
目录
安装
要求
支持Python3.5及更高版本。
使用pip
安装您可以从python包安装最新稳定版本的gvm工具 使用pip:
索引pip install gvm-tools
或者下载或克隆此存储库并安装最新的 开发版本:
pip install .
用法
有几个客户需要通过gmp/osp进行沟通。
所有客户端都可以通过各种方式建立连接:
* Unix Socket
* TLS Connection
* SSH Connection
gvm cli
这个小工具发送简单的gmp/osp命令并将结果打印到 标准输出。当程序在没有任何参数的情况下使用时, 请求xml命令和用户凭据。
程序使用示例
返回当前版本。
gvm-cli socket --xml "<get_version/>"
使用带有证书的TLS连接返回当前版本。
gvm-cli tls --hostname 192.168.0.10 --port 1234 --certfile '/tmp/certs/cert.pem' --keyfile '/tmp/certs/key.pem' --cafile '/tmp/certs/cert.pem' --xml "<get_version/>"
全部返回 任务。
gvm-cli socket --xml "<commands><authenticate><credentials><username>myuser</username><password>mypass</password></credentials></authenticate><get_tasks/></commands>"
读取带有gmp命令的文件并返回结果。
gvm-cli socket --gmp-username foo --gmp-password bar < myfile.gmp
请注意,gvm-cli
在命令为
被服务器拒绝。如果不需要这种错误处理,则
可以使用--raw
参数请求未分析的XML响应:
gvm-cli socket --raw --xml "<authenticate/>"
gvm皮壳
这个工具比简单的gvm cli客户端有更多的功能。你 可以使用命令创建自己的自定义脚本 从python-gvm library和 Python3号。脚本可以通过 附加参数。
程序使用示例
通过TLS连接打开script.gmp。
gvm-pyshell tls --hostname=127.0.0.1 script.gmp
使用给定的凭据和Unix套接字进行连接。打开交互式 炮弹。
gvm-pyshell socket --gmp-username=user --gmp-password=pass -i
通过ssh连接连接。打开一个交互式shell。
gvm-pyshell ssh --hostname=127.0.0.1 -i
示例脚本
# Retrieve current GMP version
version = gmp.get_version()
# Prints the XML in beautiful form
from gvmtools.helper import pretty_print
pretty_print(version)
# Retrieve all tasks
tasks = gmp.get_tasks()
# Get names of tasks
task_names = tasks.xpath('task/name/text()')
pretty_print(task_names)
更多示例脚本
在 "scripts/"文件夹。 其中一些可能正是你所需要的,所有这些都有助于写作 你自己的gmp脚本。
支架
对于任何有关使用gvm工具或gmp脚本的问题,请使用 Greenbone Community Portal。如果你 发现软件有问题,请 create an issue在github上。
维护人员
此项目由Greenbone Networks GmbH维护。
贡献
非常感谢你的贡献。拜托 create a pull request在github上。 对于更大的变化,请先在 issues。
对于开发,您应该使用pipenv 使python包在不同的环境中保持分离。首次安装 通过PIP的PIPENV
pip install --user pipenv
之后运行
pipenv install --dev
在gvm tools的checkout目录(包含pipfile的目录)中 安装所有依赖项,包括开发所需的软件包。
许可证
版权所有(c)2017-2018Greenbone Networks GmbH
根据GNU General Public License v3.0 or later授权。