Connections

class GvmConnection

Python protocol for GvmConnection classes.

__init__(*args, **kwargs)
connect()

Establish a connection to a remote server

disconnect()

Send data to the connected remote server

Parameters:

data – Data to be send to the server. Either utf-8 encoded string or bytes.

finish_send()

Indicate to the remote server you are done with sending data

read()

Read data from the remote server

Returns:

data as bytes

Return type:

bytes

send(data)

Send data to the connected remote server

Parameters:

data (bytes) – Data to be send to the server as bytes.

class SSHConnection

SSH Class to connect, read and write from GVM via SSH

__init__(*, timeout=60, hostname='127.0.0.1', port=22, username='gmp', password='', known_hosts_file=None, auto_accept_host=None, file=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>, input=<built-in function input>, exit=<built-in function exit>)

Create a new SSH connection instance.

Parameters:
  • timeout (int | float | None) – Timeout in seconds for the connection.

  • hostname (str | None) – DNS name or IP address of the remote server. Default is 127.0.0.1.

  • port (int | None) – Port of the remote SSH server. Default is port 22.

  • username (str | None) – Username to use for SSH login. Default is “gmp”.

  • password (str | None) – Password to use for SSH login. Default is “”.

connect()

Connect to the SSH server and authenticate to it

disconnect()

Disconnect and close the connection to the remote server

class TLSConnection

TLS class to connect, read and write from a remote GVM daemon via TLS secured socket.

__init__(*, certfile=None, cafile=None, keyfile=None, hostname='127.0.0.1', port=9390, password=None, timeout=60)

Create a new TLSConnection instance.

Parameters:
  • timeout (int | float | None) – Timeout in seconds for the connection.

  • hostname (str | None) – DNS name or IP address of the remote TLS server.

  • port (int | None) – Port for the TLS connection. Default is 9390.

  • certfile (str | None) – Path to PEM encoded certificate file. See python certificates for details.

  • cafile (str | None) – Path to PEM encoded CA file. See python certificates for details.

  • keyfile (str | None) – Path to PEM encoded private key. See python certificates for details.

  • password (str | None) – Password for the private key. If the password argument is not specified and a password is required it will be interactively prompt the user for a password.

connect()

Establish a connection to a remote server

disconnect()

Close the SSL layer then disconnect from the remote server

class UnixSocketConnection

UNIX-Socket class to connect, read, write from a daemon via direct communicating UNIX-Socket

__init__(*, path='/run/gvmd/gvmd.sock', timeout=60)

Create a new UnixSocketConnection instance.

Parameters:
  • path (str | PathLike[str] | None) – Path to the socket. Default is “/run/gvmd/gvmd.sock”.

  • timeout (int | float | None) – Timeout in seconds for the connection. Default is 60 seconds.

connect()

Connect to the UNIX socket

class DebugConnection

Wrapper around a connection for debugging purposes

Allows to debug the connection flow including send and read data. Internally it uses the python logging framework to create debug messages. Please take a look at the logging tutorial for further details.

Example:

import logging

logging.basicConfig(level=logging.DEBUG)

socket_connection = UnixSocketConnection(path='/var/run/gvm.sock')
connection = DebugConnection(socket_connection)
gmp = Gmp(connection=connection)
__init__(connection)

Create a new DebugConnection instance.

Parameters:

connection (GvmConnection) – GvmConnection to observe