Я изучаю инструмент OpenVas для требования проекта, openVas в настоящее время управляется Greenbone. Я получаю сообщение об ошибке при попытке использовать удаленный сканер с использованием Python API.
Я сделал всю начальную настройку, настроил необходимую учетную запись графического интерфейса пользователя и т. Д. И смог сканировать необходимые системы вручную, однако, когда я пытаюсь сделать то же самое с помощью Python Api, он не работает. В Интернете нет ни одного примера, доступного для проверки моего кода.
Я использовал [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)
Я получаю ошибку-
/usr/bin/python3.7 /home/punshi/PycharmProjects/nessus_api/openvas-greenbone.py
/usr/local/lib/python3.7/dist-packages/paramiko/kex_ecdh_nist.py:39: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
m.add_string(self.Q_C.public_numbers().encode_point())
/usr/local/lib/python3.7/dist-packages/paramiko/kex_ecdh_nist.py:96: CryptographyDeprecationWarning: Support for unsafe construction of public numbers from encoded data will be removed in a future version. Please use EllipticCurvePublicKey.from_encoded_point
self.curve, Q_S_bytes
/usr/local/lib/python3.7/dist-packages/paramiko/kex_ecdh_nist.py:111: CryptographyDeprecationWarning: encode_point has been deprecated on EllipticCurvePublicNumbers and will be removed in a future version. Please use EllipticCurvePublicKey.public_bytes to obtain both compressed and uncompressed point encoding.
hm.add_string(self.Q_C.public_numbers().encode_point())
Traceback (most recent call last):
File "/home/punshi/PycharmProjects/nessus_api/openvas-greenbone.py", line 8, in <module>
gmp.authenticate('admin', 'admin')
File "/usr/local/lib/python3.7/dist-packages/gvm/protocols/gmpv7.py", line 211, in authenticate
response = self._read()
File "/usr/local/lib/python3.7/dist-packages/gvm/protocols/base.py", line 54, in _read
return self._connection.read()
File "/usr/local/lib/python3.7/dist-packages/gvm/connections.py", line 126, in read
raise GvmError('Remote closed the connection')
gvm.errors.GvmError: Remote closed the connection
Process finished with exit code 1
Я тестировал SSH-соединение вручную, поэтому проблема связана с моим кодом или каким-либо другим.
Дополнительная информация-
Ubuntu 16,
Greenbone Security Assistant 7.0.3 (gui)
Open Vas - 9.0.3