OSP v1¶
Module for communication to a daemon speaking Open Scanner Protocol version 1
- class gvm.protocols.ospv1.Osp¶
- __init__(connection, *, transform=None)¶
- 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=None)¶
Delete a finished scan.
- Parameters:
scan_id (str) – UUID identifier for a finished scan.
- Returns:
Response from server.
- Return type:
str
- 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
- Returns:
Response from server.
- Return type:
str
- 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, optional) – UUID identifier for a vulnerability test.
- Returns:
Response from server.
- Return type:
str
- 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 command to the remote server
If the class is not connected to the server yet the connection will be established automatically.
- Parameters:
cmd (str) – Command as string to be send over the connection to the server.
- Returns:
The actual returned type depends on the set transform.
Per default - if no transform is set explicitly - the response is returned as string.
- Return type:
any
- 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, optional) – UUID identifier for a running scan.
parallel (int, optional) – Number of parallel scanned targets. Default 1.
target (dict, optional) – Deprecated. Please use targets instead.
targets (list, optional) – List of dictionaries. See example.
ports (str, optional) – Deprecated. Ports to use for target parameter.
scanner_params – (dict, optional): Dictionary of scanner parameters.
vt_selection – (dict, optional): Vulnerability tests to select. See example.
- Returns:
Response from server.
- Return type:
str
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.
- Returns:
Response from server.
- Return type:
str