|
Greenbone Vulnerability Management Libraries 22.30.0
|
API for Openvas Daemon communication. More...
#include "openvasd.h"#include "../base/array.h"#include "../base/networking.h"#include "../http/httputils.h"#include "../http_scanner/http_scanner.h"#include "../util/json.h"#include <cjson/cJSON.h>#include <netinet/in.h>#include <stddef.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>Go to the source code of this file.
Data Structures | |
| struct | openvasd_credential |
| Struct credential information for openvasd. More... | |
| struct | openvasd_target |
| Struct holding target information. More... | |
| struct | openvasd_vt_single |
| Struct holding vt information. More... | |
Macros | |
| #define | G_LOG_DOMAIN "libgvm ovd" |
| GLib log domain. | |
| #define | RESP_CODE_ERR -1 |
| #define | RESP_CODE_OK 0 |
Functions | |
| http_scanner_resp_t | openvasd_get_vt_stream_init (http_scanner_connector_t conn) |
| Fetch feed metadata chunk by chunk. | |
| int | openvasd_get_vt_stream (http_scanner_connector_t conn) |
| Get a new feed metadata chunk. | |
| http_scanner_resp_t | openvasd_get_vts (http_scanner_connector_t conn) |
| Get VT's metadata. | |
| http_scanner_resp_t | openvasd_get_performance (http_scanner_connector_t conn, openvasd_get_performance_opts_t opts) |
| Get performance data. | |
| int | openvasd_parsed_performance (http_scanner_connector_t conn, openvasd_get_performance_opts_t opts, gchar **graph, gchar **err) |
| Parse performance data. | |
| static void | add_port_to_scan_json (gpointer range, gpointer p_array) |
| Add a port range to the scan json object. | |
| static void | add_credential_to_scan_json (gpointer credentials, gpointer cred_array) |
| Add a credential to the scan json object. | |
| static void | add_scan_preferences_to_scan_json (gpointer key, gpointer val, gpointer scan_prefs_array) |
| Add a scan preference to the scan json object. | |
| static void | add_vts_to_scan_json (gpointer single_vt, gpointer vts_array) |
| Add a VT to the scan json object. | |
| char * | openvasd_build_scan_config_json (openvasd_target_t *target, GHashTable *scan_preferences, GSList *vts) |
| Build a json object with data necessary to start a scan. | |
| openvasd_credential_t * | openvasd_credential_new (const gchar *type, const gchar *service, const gchar *port) |
| Allocate and initialize a new openvasd credential. | |
| void | openvasd_credential_free (openvasd_credential_t *credential) |
| Free an openvasd credential. | |
| void | openvasd_credential_set_auth_data (openvasd_credential_t *credential, const gchar *name, const gchar *value) |
| Get authentication data from an openvasd credential. | |
| openvasd_target_t * | openvasd_target_new (const gchar *scanid, const gchar *hosts, const gchar *ports, const gchar *exclude_hosts, int reverse_lookup_unify, int reverse_lookup_only) |
| Create a new openvasd target. | |
| void | openvasd_target_set_finished_hosts (openvasd_target_t *target, const gchar *finished_hosts) |
| Set the finished hosts of an openvasd target. | |
| void | openvasd_target_free (openvasd_target_t *target) |
| Free an openvasd target, including all added credentials. | |
| void | openvasd_target_add_alive_test_methods (openvasd_target_t *target, gboolean icmp, gboolean tcp_syn, gboolean tcp_ack, gboolean arp, gboolean consider_alive) |
| Add alive test methods to openvasd target. | |
| void | openvasd_target_add_credential (openvasd_target_t *target, openvasd_credential_t *credential) |
| Add a credential to an openvasd target. | |
| openvasd_vt_single_t * | openvasd_vt_single_new (const gchar *vt_id) |
| Create a new single openvasd VT. | |
| void | openvasd_vt_single_free (openvasd_vt_single_t *vt_single) |
| Free a single openvasd VT, including all preference values. | |
| void | openvasd_vt_single_add_value (openvasd_vt_single_t *vt_single, const gchar *name, const gchar *value) |
| Add a preference value to an openvasd VT. | |
API for Openvas Daemon communication.
| #define G_LOG_DOMAIN "libgvm ovd" |
GLib log domain.
| #define RESP_CODE_ERR -1 |
| #define RESP_CODE_OK 0 |
|
static |
Add a credential to the scan json object.
| credentials | Credential to add. |
| cred_array | JSON array to add the credential to. |
|
static |
Add a port range to the scan json object.
| range | Port range to add. |
| p_array | JSON array to add the port range to. |
|
static |
Add a scan preference to the scan json object.
| key | Preference ID. |
| val | Preference value. |
| scan_prefs_array | JSON array to add the preference to. |
|
static |
Add a VT to the scan json object.
| single_vt | VT to add. |
| vts_array | JSON array to add the VT to. |
| char * openvasd_build_scan_config_json | ( | openvasd_target_t * | target, |
| GHashTable * | scan_preferences, | ||
| GSList * | vts ) |
Build a json object with data necessary to start a scan.
JSON result consists of scan_id, message type, host ip, hostname, port, together with proto, OID, result message and uri.
| target | target |
| scan_preferences | Scan preferences to be added to the scan config |
| vts | VTS collection to be added to the scan config. |
| void openvasd_credential_free | ( | openvasd_credential_t * | credential | ) |
Free an openvasd credential.
| credential | The credential to free. |
| openvasd_credential_t * openvasd_credential_new | ( | const gchar * | type, |
| const gchar * | service, | ||
| const gchar * | port ) |
Allocate and initialize a new openvasd credential.
| type | The credential type. |
| service | The service the credential is for. |
| port | The port. |
| void openvasd_credential_set_auth_data | ( | openvasd_credential_t * | credential, |
| const gchar * | name, | ||
| const gchar * | value ) |
Get authentication data from an openvasd credential.
| credential | The credential to get the data from. |
| name | The name of the data item to get. |
| value | The authentication data or NULL to unset. |
| http_scanner_resp_t openvasd_get_performance | ( | http_scanner_connector_t | conn, |
| openvasd_get_performance_opts_t | opts ) |
Get performance data.
| conn | Connector struct with the data necessary for the connection. |
| opts | Options for the performance request. |
| int openvasd_get_vt_stream | ( | http_scanner_connector_t | conn | ) |
Get a new feed metadata chunk.
This function must be call until the return value is 0, meaning there is no more data to fetch.
| conn | Connector struct with the data necessary for the connection |
| http_scanner_resp_t openvasd_get_vt_stream_init | ( | http_scanner_connector_t | conn | ) |
Fetch feed metadata chunk by chunk.
| conn | Connector struct with the data necessary for the connection |
| http_scanner_resp_t openvasd_get_vts | ( | http_scanner_connector_t | conn | ) |
Get VT's metadata.
| conn | Connector struct with the data necessary for the connection |
| int openvasd_parsed_performance | ( | http_scanner_connector_t | conn, |
| openvasd_get_performance_opts_t | opts, | ||
| gchar ** | graph, | ||
| gchar ** | err ) |
Parse performance data.
| conn | Connector struct with the data necessary for the connection. |
| opts | Options for the performance request. |
| graph | Pointer to store the graph data. |
| err | Pointer to store error message if any. |
| void openvasd_target_add_alive_test_methods | ( | openvasd_target_t * | target, |
| gboolean | icmp, | ||
| gboolean | tcp_syn, | ||
| gboolean | tcp_ack, | ||
| gboolean | arp, | ||
| gboolean | consider_alive ) |
Add alive test methods to openvasd target.
| target | The openvasd target to add the methods to. |
| icmp | Use ICMP ping. |
| tcp_syn | Use TCP-SYN ping. |
| tcp_ack | Use TCP-ACK ping. |
| arp | Use ARP ping. |
| consider_alive | Consider host to be alive. |
| void openvasd_target_add_credential | ( | openvasd_target_t * | target, |
| openvasd_credential_t * | credential ) |
Add a credential to an openvasd target.
| target | The openvasd target to add the credential to. |
| credential | The credential to add. Will be freed with target. |
| void openvasd_target_free | ( | openvasd_target_t * | target | ) |
Free an openvasd target, including all added credentials.
| target | The openvasd target to free. |
| openvasd_target_t * openvasd_target_new | ( | const gchar * | scanid, |
| const gchar * | hosts, | ||
| const gchar * | ports, | ||
| const gchar * | exclude_hosts, | ||
| int | reverse_lookup_unify, | ||
| int | reverse_lookup_only ) |
Create a new openvasd target.
| scanid | Scan ID. |
| hosts | The hostnames of the target. |
| ports | The ports of the target. |
| exclude_hosts | The excluded hosts of the target. |
| reverse_lookup_unify | Lookup flag. |
| reverse_lookup_only | Lookup flag. |
| void openvasd_target_set_finished_hosts | ( | openvasd_target_t * | target, |
| const gchar * | finished_hosts ) |
Set the finished hosts of an openvasd target.
| target | The openvasd target to modify. |
| finished_hosts | The hostnames to consider finished. |
| void openvasd_vt_single_add_value | ( | openvasd_vt_single_t * | vt_single, |
| const gchar * | name, | ||
| const gchar * | value ) |
Add a preference value to an openvasd VT.
This creates a copy of the name and value.
| vt_single | The VT to add the preference to. |
| name | The name / identifier of the preference. |
| value | The value of the preference. |
| void openvasd_vt_single_free | ( | openvasd_vt_single_t * | vt_single | ) |
Free a single openvasd VT, including all preference values.
| vt_single | The openvasd VT to free. |
| openvasd_vt_single_t * openvasd_vt_single_new | ( | const gchar * | vt_id | ) |
Create a new single openvasd VT.
| vt_id | The id of the VT. |