通过gmp或osp与gvm对话的工具

gvm-tools的Python项目详细描述


Greenbone Logo

绿骨漏洞管理工具

GitHub releasesPyPI releaseScrutinizer Code Qualitycode test coverageCircleCI

绿骨脆弱性管理工具或简称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授权。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JavaFX FXML控制器密钥处理程序代码不工作   java为什么在thymeleaf布局中包含的图像需要很长时间才能显示?   更改Java数组的维数   java文本不会显示在文本框(单选按钮)上   内存不足使用Jmap在OutOfMemoryError上转储Java堆文件   通过浏览器偏移进行java时间转换   java意图不可序列化   java iTextPdf:动态更改单元格宽度   具有资源值的java SpringJUnit4 ClassRunner上下文配置   java AsyncTask仍在最近的应用程序上运行   尝试生成Cucumber报告时出现java CucumberException   爪哇,爪哇。朗。反思。带摘要分析器的InvocationTargetException   java如何在log4j2中实现日期模式转换器   带有MongoRepository:DBRef的java Spring   java将字节[]转换为int   来自服务器的java移动应用自动拨号消息   java如何调用泛型类型为T[]的方法作为参数?   java在switch语句中使用ArrayList类