OSP v1¶
Module for communication to a daemon speaking Open Scanner Protocol version 1
- class Osp¶
- __init__(connection, *, transform=<function str_transform>)¶
Create a new GvmProtocol instance.
- Parameters:
connection (GvmConnection) – Connection to use to talk with the remote daemon. See
gvm.connectionsfor possible connection types.transform (Callable[[Response], T]) – Optional transform callable to convert response data. After each request the callable gets passed the plain response data which can be used to check the data and/or conversion into different representations like a xml dom.
- connect()¶
Initiates a protocol connection
Normally connect is not called directly. Either it is called automatically when sending a protocol command or when using a with statement.
- delete_scan(scan_id)¶
Delete a finished scan.
- Parameters:
scan_id (str) – UUID identifier for a finished scan.
- disconnect()¶
Disconnect the connection
Ends and closes the connection.
- static get_protocol_version()¶
Determine the Open Scanner Protocol version.
- Returns:
Implemented version of the Open Scanner Protocol
- Return type:
tuple
- get_scanner_details()¶
Return scanner description and parameters.
- get_scans(scan_id=None, details=True, pop_results=False)¶
Get the stored scans.
- Parameters:
scan_id (str, optional) – UUID identifier for a scan.
details (boolean, optional) – Whether to get full scan reports. Default: True
pop_results (boolean, optional) – results. Default: False
- get_version()¶
Get the version of the OSPD server which is connected to.
- get_vts(vt_id=None)¶
Return information about vulnerability tests, if offered by scanner.
- Parameters:
vt_id (str | None) – UUID identifier for a vulnerability test.
- help()¶
Get the help text.
- is_connected()¶
Status of the current connection
- Returns:
True if a connection to the remote server has been established.
- Return type:
bool
- send_command(cmd)¶
Send a string command to the remote daemon and return the response as string
- start_scan(scan_id=None, parallel=1, target=None, ports=None, targets=None, scanner_params=None, vt_selection=None)¶
Start a new scan.
- Parameters:
scan_id (str | None) – UUID identifier for a running scan.
parallel (int) – Number of parallel scanned targets. Default 1.
target – Deprecated. Please use targets instead.
targets (list[dict[str, str]] | None) – List of dictionaries. See example.
ports – Deprecated. Ports to use for target parameter.
scanner_params: – Dictionary of scanner parameters.:
vt_selection: – Vulnerability tests to select. See example.:
Examples
Scanner Parameters:
scanner_parameters = { "scan_param1": "scan_param1_value", "scan_param2": "scan_param2_value", }
Targets:
targets = [ {"hosts": "localhost", "ports": "80,43"}, { "hosts": "192.168.0.0/24", "ports": "22", }, { "credentials": { "smb": { "password": "pass", "port": "port", "type": "type", "username": "username", } } }, ]
VT Selection:
vt_selection = { "vt1": {}, "vt2": {"value_id": "value"}, "vt_groups": ["family=debian", "family=general"], }
- stop_scan(scan_id)¶
Stop a currently running scan.
- Parameters:
scan_id (str) – UUID identifier for a running scan.