如何用python连接到远程OpenVas扫描仪?

2024-05-16 22:13:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为一个项目需求开发OpenVas工具,OpenVas目前由Greenbone管理。当我试图使用pythonapi使用远程扫描仪时,我遇到了错误。在

我完成了所有的初始配置,设置了所需的gui帐户等,并且能够手动扫描所需的系统,但是当我尝试使用pythonapi进行同样的操作时,它就不起作用了。在互联网上和手册中都没有验证我的代码的例子。 我用过[https://pypi.org/project/python-gvm/]api。在

我写了简单的代码,但它不起作用。。在

from gvm.connections import SSHConnection
from gvm.protocols.latest import Gmp
from gvm.transforms import EtreeTransform
from gvm.xml import pretty_print

connection = SSHConnection(hostname='192.168.1.84',username='alex',password='alex@123')
gmp = Gmp(connection)
gmp.authenticate('admin', 'admin')

# Retrieve current GMP version
version = gmp.get_version()

# Prints the XML in beautiful form
pretty_print(version)

我犯了个错误-

^{pr2}$

我已经手动测试了SSH连接,所以问题出在我的代码或其他代码上。在

其他细节-

Ubuntu 16,
Greenbone Security Assistant 7.0.3 (gui)
Open Vas - 9.0.3

Tags: 代码fromimportpythonapiversion错误prettygui
2条回答

我用TLSConnection而不是{}解决了这个问题。这是您的代码:

import gvm
from gvm.protocols.latest import Gmp
from gvm.transforms import EtreeTransform
from gvm.xml import pretty_print

connection =gvm.connections.TLSConnection(hostname='192.168.1.84')
gmp = Gmp(connection)
gmp.authenticate('admin', 'admin')

# Retrieve current GMP version
version = gmp.get_version()

# Prints the XML in beautiful form
pretty_print(version)

I am exploring OpenVas tool for a project requirement, openVas is currently managed by Greenbone.

只是一个旁注。OpenVAS是Greenbone多年来开发的。因此,我们确实将该项目重命名为Greenbone漏洞管理(GVM),版本为10。只有实际的scanner组件仍然以OpenVAS命名。有关详细信息,请参见https://community.greenbone.net/t/is-openvas-manager-and-gvmd-the-same/1777/3。在

使用SSHConnection需要在远程服务器上进行一些额外的设置。使用TLSConnection可能更容易,但是还需要更改gvmd/openvasmd的设置,因为默认情况下它只监听unix套接字。在

相关问题 更多 >