通过GMP或OSP与远程服务器通信的库
项目描述
Greenbone 安全漏洞管理 Python 库
Greenbone 安全漏洞管理 Python API 库(python-gvm)是一组API,用于远程控制 Greenbone 社区版安装和 Greenbone 企业设备。该库主要抽象了访问 Greenbone 管理协议(GMP)和开放扫描协议(OSP)的通信协议。
目录
文档
python-gvm 的文档可以在 https://greenbone.github.io/python-gvm/ 找到。请务必查看文档以获取更多详细信息。本 README 只提供简要概述。
安装
版本
请考虑始终使用 最新版 的 gvm-tools
和 python-gvm
。我们经常更新此项目以添加功能并保持其无错误。这就是为什么建议使用 pip 安装 python-gvm
的原因。
[!IMPORTANT] 要使用 GMP 版本 7、8 或 9 的
python-gvm
,您必须使用小于<21.5
的发行版。在21.5
版本中,已停止支持这些版本。
[!IMPORTANT] 要使用 GMP 版本 20.8 或 21.4 的
python-gvm
,您必须使用小于<24.6
的发行版。在24.6
版本中,已停止支持这些版本。
要求
支持 Python 3.9 及以上版本。
使用 pip 安装
您可以使用 pip 从 Python 包索引安装 python-gvm 的最新稳定版。
python3 -m pip install --user python-gvm
示例
from gvm.connections import UnixSocketConnection
from gvm.protocols.gmp import Gmp
from gvm.transforms import EtreeTransform
from gvm.xml import pretty_print
connection = UnixSocketConnection()
transform = EtreeTransform()
with Gmp(connection, transform=transform) as gmp:
# Retrieve GMP version supported by the remote daemon
version = gmp.get_version()
# Prints the XML in beautiful form
pretty_print(version)
# Login
gmp.authenticate('foo', 'bar')
# Retrieve all tasks
tasks = gmp.get_tasks()
# Get names of tasks
task_names = tasks.xpath('task/name/text()')
pretty_print(task_names)
支持
有关 python-gvm 使用方面的任何问题,请使用 Greenbone 社区论坛。如果您发现软件中存在问题,请 在 GitHub 上创建问题。
维护者
此项目由 Greenbone AG 维护。
贡献
您的贡献将受到高度赞赏。请在 GitHub 上 创建拉取请求。对于较大的更改,请首先在 问题 中进行讨论。
为了开发,您应该使用 poetry 将您的 Python 包在不同的环境中分离。首先通过 pip 安装 poetry
python3 -m pip install --user poetry
然后,在 python-gvm 的签出目录中(包含 pyproject.toml
文件的目录)运行
poetry install
以安装所有依赖项,包括仅用于开发的包。
python-gvm 仓库使用 autohooks 通过 git 钩应用代码检查和自动格式化。请确保 git 钩处于活动状态。
$ poetry install
$ poetry run autohooks activate --force
许可
版权 (C) 2017-2024 Greenbone AG
根据 GNU 通用公共许可证 v3.0 或更高版本 许可。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。