greenbone/gvm-tools

GitHub: greenbone/gvm-tools

用于远程控制 Greenbone 漏洞管理平台的官方 Python 工具集,通过 GMP/OSP 协议实现扫描任务的自动化调度与管理。

Stars: 194 | Forks: 93

![Greenbone Logo](https://www.greenbone.net/wp-content/uploads/gb_new-logo_horizontal_rgb_small.png) # Greenbone 漏洞管理工具 [![GitHub releases](https://img.shields.io/github/release-pre/greenbone/gvm-tools.svg)](https://github.com/greenbone/gvm-tools/releases) [![PyPI release](https://img.shields.io/pypi/v/gvm-tools.svg)](https://pypi.org/project/gvm-tools/) [![code test coverage](https://codecov.io/gh/greenbone/gvm-tools/branch/master/graph/badge.svg)](https://codecov.io/gh/greenbone/gvm-tools) [![Build and test](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/d4426aa4e9051613.svg)](https://github.com/greenbone/gvm-tools/actions/workflows/ci-python.yml) Greenbone 漏洞管理工具 `gvm-tools` 是一组工具集合,旨在帮助远程控制 Greenbone Enterprise Appliance 和 Greenbone Community Edition 安装。这些工具协助访问通信协议 GMP (Greenbone Management Protocol) 和 OSP (Open Scanner Protocol)。 该模块包含交互式和非交互式客户端。编程语言 Python 直接支持交互式脚本。但也可以在不使用 Python 编程的情况下发出远程 GMP/OSP 命令。 ## 目录 - [文档](#documentation) - [安装](#installation) - [需求](#requirements) - [版本](#version) - [使用方法](#usage) - [gvm-cli](#gvm-cli) - [示例](#examples) - [gvm-script](#gvm-script) - [示例脚本](#example-script) - [更多示例脚本](#more-example-scripts) - [gvm-pyshell](#gvm-pyshell) - [示例程序用法](#example-program-use) - [支持](#support) - [维护者](#maintainer) - [贡献](#contributing) - [许可证](#license) ## 文档 `gvm-tools` 的文档可以在 [https://greenbone.github.io/gvm-tools/](https://greenbone.github.io/gvm-tools/) 找到。更多细节请参考文档,因为本 README 仅提供简短概述。 ## 安装 有关所有支持的安装选项,请参阅[文档](https://greenbone.github.io/gvm-tools/install.html)。 ### 需求 支持 Python 3.9 及更高版本。 ### 版本 请考虑始终使用最新版本的 `gvm-tools` 和 `python-gvm`。我们经常更新这些项目以添加功能并保持无 Bug。因此建议使用 pip 安装 `gvm-tools`。 **若要将 `gvm-tools` 与旧的 GMP 版本(7, 8, 9)配合使用,必须使用 `<21.06` 的发布版本,并结合 `<21.05` 的 `python-gvm` 版本。** **在 `21.06` 版本中,已放弃对这些旧版本的支持。** ## 使用方法 有多种客户端可通过 GMP/OSP 进行通信。所有客户端都具备以多种方式建立连接的能力: * Unix Socket * TLS Connection * SSH Connection ### gvm-cli 此工具发送纯 GMP/OSP 命令并将结果打印到标准输出。 #### 示例 返回服务器当前使用的协议版本: ``` gvm-cli socket --xml "" ``` 返回提供的凭据对应的 GMP 用户可见的所有任务: ``` gvm-cli --gmp-username foo --gmp-password bar socket --xml "" ``` 读取包含 GMP 命令的文件并返回结果: ``` gvm-cli --gmp-username foo --gmp-password bar socket myfile.xml ``` 请注意,当命令被服务器拒绝时,`gvm-cli` 默认会打印错误消息并以非零退出代码退出。如果不希望进行这种错误处理,可以使用 `--raw` 参数请求未解析的 XML 响应: ``` gvm-cli socket --raw --xml "" ``` ### gvm-script 该工具比简单的 `gvm-cli` 客户端拥有更多功能。您可以使用 [python-gvm 库](https://github.com/greenbone/python-gvm) 和 Python 3 本身的命令,创建自己的自定义 gmp 或 osp 脚本。 #### 示例脚本 ``` # 获取当前 GMP 版本 version = gmp.get_version() # 以美观格式打印 XML from gvmtools.helper import pretty_print pretty_print(version) # 获取所有 tasks tasks = gmp.get_tasks() # 获取 task 名称 task_names = tasks.xpath('task/name/text()') pretty_print(task_names) ``` #### 更多示例脚本 在 ["scripts/"](scripts/) 文件夹中有一个不断增长的 gmp-scripts 集合。其中一些可能正是您所需要的,并且所有这些脚本都有助于编写您自己的 gmp 脚本。 ### gvm-pyshell 此工具用于交互式运行 gmp 或 osp 脚本。它使用 [python-gvm 库](https://github.com/greenbone/python-gvm) 提供与 [gvm-script](#gvm-script) 相同的 API。 #### 示例程序用法 使用给定的凭据通过 Unix domain socket 连接并打开交互式 shell: ``` gvm-pyshell --gmp-username user --gmp-password pass socket ``` 通过 SSH 连接并打开交互式 shell: ``` gvm-pyshell --hostname 127.0.0.1 ssh ``` ## 支持 有关 `gvm-tools` 或 gmp 脚本使用的任何问题,请使用 [Greenbone Community Portal](https://community.greenbone.net/c/gmp)。如果您发现软件有问题,请在 GitHub 上[创建一个 issue](https://github.com/greenbone/gvm-tools/issues)。 ## 维护者 该项目由 [Greenbone AG](https://www.greenbone.net/) 维护。 ## 贡献 非常感谢您的贡献。请在 GitHub 上[创建一个 pull request](https://github.com/greenbone/gvm-tools/pulls)。对于较大的更改,请先在 [issues](https://github.com/greenbone/gvm-tools/issues) 中进行讨论。 对于开发,您应该使用 [poetry](https://python-poetry.org/) 将 Python 包分隔在不同的环境中。首先通过 pip 安装 poetry ``` python3 -m pip install --user poetry ``` 之后在 `gvm-tools` 的检出目录(包含 `pyproject.toml` 文件的目录)中运行 ``` poetry install ``` 以安装所有依赖项,包括仅用于开发的包。 之后通过 [autohooks](https://github.com/greenbone/autohooks) 激活用于自动格式化和 linting 的 git hooks。 ``` poetry run autohooks activate --force ``` ## 许可证 Copyright (C) 2017-2024 [Greenbone AG](https://www.greenbone.net/) 根据 [GNU General Public License v3.0 or later](LICENSE) 授权。
标签:AES-256, GET/POST请求分析, GMP, GPT, GraphQL引擎检测, Greenbone, GVM, GVM-Tools, OpenVAS, OSP, PHP, Python, 企业安全, 内存分配, 安全扫描, 密码管理, 底层编程, 插件系统, 数字取证, 无后门, 时序注入, 漏洞管理, 漏洞评估, 网络安全, 网络资产管理, 自动化脚本, 远程控制, 逆向工具, 隐私保护