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.connections
for 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.