通过GMP或OSP控制GSM/GVM的工具
项目描述
Greenbone漏洞管理工具
Greenbone漏洞管理工具 gvm-tools
是一系列工具,用于远程控制Greenbone企业设备及Greenbone社区版安装。这些工具有助于访问GMP(Greenbone管理协议)和OSP(开放扫描协议)通信协议。
本模块包含交互式和非交互式客户端。Python编程语言直接支持交互式脚本。但也可以在不使用Python编程的情况下发出远程GMP/OSP命令。
目录
文档
gvm-tools
的文档可以在 https://greenbone.github.io/gvm-tools/ 找到。请参阅文档以获取更多详细信息,因为本README仅提供简要概述。
安装
请参阅 文档 了解所有支持的安装选项。
需求
支持Python 3.9及更高版本。
版本
请考虑始终使用 最新版 的 gvm-tools
和 python-gvm
。我们经常更新这些项目以添加功能并保持其无错误。这就是为什么建议使用pip安装 gvm-tools
的原因。
要使用与旧版GMP版本(7、8、9)兼容的 gvm-tools
,您必须使用 <21.06
的发布版本,并结合 <21.05
的 python-gvm
版本。 在21.06版本中,已取消对这些旧版本的支持。
用法
有几个客户端可以通过GMP/OSP进行通信。
所有客户端都具有以各种方式建立连接的能力
- Unix套接字
- TLS连接
- SSH连接
gvm-cli
此工具发送纯GMP/OSP命令并将结果打印到标准输出。
示例
返回服务器使用的当前协议版本
gvm-cli socket --xml "<get_version/>"
返回具有提供凭据的GMP用户可见的所有任务
gvm-cli --gmp-username foo --gmp-password bar socket --xml "<get_tasks/>"
读取包含GMP命令的文件并返回结果
gvm-cli --gmp-username foo --gmp-password bar socket myfile.xml
请注意,当服务器拒绝命令时,gvm-cli
将默认打印错误消息并以非零退出代码退出。如果不希望进行此类错误处理,可以使用 --raw
参数请求未解析的XML响应
gvm-cli socket --raw --xml "<authenticate/>"
gvm-script
此工具具有比简单的 gvm-cli
客户端更多的功能。您可以使用来自 python-gvm库 和Python 3本身的命令创建自己的自定义gmp或osp脚本。
示例脚本
# 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脚本集合。其中一些可能正好符合您的需求,所有这些脚本都有助于编写您自己的gmp脚本。
gvm-pyshell
此工具用于交互式运行gmp或osp脚本。它使用 python-gvm库 提供与 gvm-script 相同的API。
示例程序使用
通过Unix域套接字使用给定凭据连接并打开交互式shell
gvm-pyshell --gmp-username user --gmp-password pass socket
通过SSH连接打开交互式shell
gvm-pyshell --hostname 127.0.0.1 ssh
支持
有关 gvm-tools
或gmp脚本使用的任何问题,请使用 Greenbone社区门户。如果您发现软件存在问题,请 在GitHub上创建问题。
维护者
本项目由Greenbone AG维护。
贡献
我们非常重视您的贡献。请在GitHub上创建拉取请求。对于较大的更改,请先在问题中讨论。
为了开发,您应使用poetry来将您的Python包在不同的环境中分离。首先通过pip安装poetry
python3 -m pip install --user poetry
然后
poetry install
在gvm-tools(包含pyproject.toml文件的目录)的检出目录中运行,以安装所有依赖项,包括仅用于开发的包。
之后,通过autohooks激活自动格式化和代码检查的git钩子。
poetry run autohooks activate --force
许可证
版权(C)2017-2024 Greenbone AG
根据GNU通用公共许可证v3.0或更高版本许可。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。