OMP: OpenVAS Management ProtocolVersion: 1.0 The "management" protocol of the Open Vulnerability Assessment System. Contents
1 Summary of Data Types
2 Summary of Elements
3 Summary of Commands
4 RNC Preamble### Preamble start = command | response command = authenticate | commands | create_agent | create_config | create_escalator | create_lsc_credential | create_note | create_override | create_schedule | create_target | create_task | delete_agent | delete_config | delete_escalator | delete_lsc_credential | delete_note | delete_override | delete_report | delete_schedule | delete_target | delete_task | get_agents | get_configs | get_dependencies | get_escalators | get_lsc_credentials | get_notes | get_nvts | get_nvt_families | get_nvt_feed_checksum | get_overrides | get_preferences | get_reports | get_results | get_schedules | get_system_reports | get_target_locators | get_targets | get_tasks | get_version | help | modify_config | modify_note | modify_override | modify_report | modify_task | pause_task | resume_or_start_task | resume_paused_task | resume_stopped_task | start_task | stop_task | test_escalator response = authenticate_response | commands_response | create_agent_response | create_config_response | create_escalator_response | create_lsc_credential_response | create_note_response | create_override_response | create_schedule_response | create_target_response | create_task_response | delete_agent_response | delete_config_response | delete_escalator_response | delete_lsc_credential_response | delete_note_response | delete_override_response | delete_report_response | delete_schedule_response | delete_target_response | delete_task_response | get_agents_response | get_configs_response | get_dependencies_response | get_escalators_response | get_lsc_credentials_response | get_notes_response | get_nvts_response | get_nvt_families_response | get_nvt_feed_checksum_response | get_overrides_response | get_preferences_response | get_reports_response | get_results_response | get_schedules_response | get_system_reports_response | get_target_locators_response | get_targets_response | get_tasks_response | get_version_response | help_response | modify_config_response | modify_note_response | modify_override_response | modify_report_response | modify_task_response | pause_task_response | resume_or_start_task_response | resume_paused_task_response | resume_stopped_task_response | start_task_response | stop_task_response | test_escalator_response 5 Data Type Details5.1 Data Type base64In short: Base64 encoded data. 5.1.1 RNCbase64 = xsd:base64Binary 5.2 Data Type booleanIn short: A true or false value. Zero is false, anything else is true. As a result, the empty string is considered true. 5.2.1 RNCboolean = text 5.3 Data Type boolean_atoiIn short: A true or false value, after conversion to an integer. Zero is false, anything else is true. The value is first converted to an integer, as by the C `atoi' routine. This means that an empty string is considered false. 5.3.1 RNCboolean_atoi = text 5.4 Data Type ctimeIn short: A date and time, in the C `ctime' format. An example string in this format is "Wed Jun 30 21:49:08 1993\n". 5.4.1 RNCctime = text 5.5 Data Type type_nameIn short: A name of a data type. 5.5.1 RNCtype_name = xsd:string - xsd:whitespace 5.6 Data Type integerIn short: An integer. 5.6.1 RNCinteger = xsd:integer 5.7 Data Type levelsIn short: A string that may include the characters h, m, l, g and d. 5.7.1 RNClevels = xsd:token { pattern = "h?m?l?g?d?" } 5.8 Data Type nameIn short: A name. Typically this is the name of one of the manager resources, like a task or target. 5.8.1 RNCname = xsd:string 5.9 Data Type oidIn short: An Object Identifier (OID). 5.9.1 RNCoid = xsd:token { pattern = "[0-9\.]{1,80}" } 5.10 Data Type sort_orderIn short: A string describing an order for sorting. The string "descending" denotes descending order, anything else means ascending. 5.10.1 RNCsort_order = text 5.11 Data Type statusIn short: The success or failure status of a command. 5.11.1 RNCstatus = xsd:token { pattern = "200|201|202|400|401|403|404|409|500|503" } 5.12 Data Type task_statusIn short: A task run status. 5.12.1 RNCtask_status = xsd:token { pattern = "Delete Requested|Done|New|Pause Requested|Paused|Requ↵ ested|Resume Requested|Running|Stop Requested|Stopped|Internal Error" } 5.13 Data Type task_trendIn short: The trend of results for a task. 5.13.1 RNCtask_trend = xsd:token { pattern = "up|down|more|less|same" } 5.14 Data Type threatIn short: A threat level. 5.14.1 RNCthreat = xsd:token { pattern = "High|Medium|Low|Log|Debug" } 5.15 Data Type time_unitIn short: A unit of time. 5.15.1 RNCtime_unit = xsd:token { pattern = "second|minute|hour|day|week|month|year|decade" } 5.16 Data Type uuidIn short: A Universally Unique Identifier (UUID). 5.16.1 RNCuuid = xsd:token { pattern = "[0-9abcdefABCDEF\-]{1,40}" } 5.17 Data Type uuid_or_emptyIn short: A Universally Unique Identifier (UUID), or the empty string. 5.17.1 RNCuuid_or_empty = xsd:token { pattern = "[0-9abcdefABCDEF\-]{0,40}" } 6 Element Details6.1 Element cIn short: A reference to a command. 6.1.1 Structure6.1.2 RNCc = element c { text } 6.2 Element eIn short: A reference to an element. 6.2.1 Structure6.2.2 RNCe = element e { text } 6.3 Element rIn short: A reference to a response. 6.3.1 Structure6.3.2 RNCr = element r { text } 6.4 Element oIn short: An optional pattern item. 6.4.1 Structure6.4.2 RNCo = element o { ( c | e | r | g ) } 6.5 Element gIn short: A group of pattern items. 6.5.1 Structure6.5.2 RNCg = element g { c* & e* & r* & o* & any* } 6.6 Element anyIn short: Pattern item indicating "any number of". 6.6.1 Structure6.6.2 RNCany = element any { ( c | e | r | g ) } 6.7 Element patternIn short: The pattern element of a command or command descendant. It's actually either a 't' element, or the word "text", or "". 6.7.1 Structure6.7.2 RNCpattern = element pattern { text & pattern_attrib* & c* & e* & r* & o* & g* & any* & pattern_t? } pattern_attrib = element attrib { pattern_attrib_name & pattern_attrib_type & pattern_attrib_required } pattern_attrib_name = element name { type_name } pattern_attrib_type = element type { type_name } pattern_attrib_required = element required { boolean } pattern_t = element t { type_name } 6.8 Element command_definitionIn short: Definition of a command in OMP describing HELP command. 6.8.1 Structure
6.8.2 RNCcommand_definition = element command_definition { command_definition_name & command_definition_summary? & command_definition_description? & ( ( command_definition_pattern & command_definition_response ) | ( command_definition_type & command_definition_ele* ) ) & command_definition_example* } command_definition_name = element name { type_name } command_definition_summary = element summary { text } command_definition_description = element description { text & command_definition_description_p* } command_definition_description_p = element p { text } command_definition_pattern = element pattern # type pattern { text & pattern_attrib* & c* & e* & r* & o* & g* & any* & pattern_t? } command_definition_response = element response # type pattern { text & pattern_attrib* & c* & e* & r* & o* & g* & any* & pattern_t? } command_definition_example = element example { command_definition_example_summary? & command_definition_example_description? & command_definition_example_request & command_definition_example_response } command_definition_example_summary = element summary { text } command_definition_example_description = element description { text } command_definition_example_request = element request { text } command_definition_example_response = element response { text } command_definition_type = element type { text } command_definition_ele = element ele # type command_definition { command_definition_name & command_definition_summary? & command_definition_description? & ( ( command_definition_pattern & command_definition_response ) | ( command_definition_type & command_definition_ele* ) ) & command_definition_example* } 7 Command Details7.1 Command authenticateIn short: Authenticate with the manager. The client uses the authenticate command to authenticate with the Manager. The client normally executes this command at the beginning of each connection. The only commands permitted before authentication are get_version and commands. 7.1.1 Structure
7.1.2 RNC
Command
authenticate = element authenticate { authenticate_credentials } authenticate_credentials = element credentials { authenticate_credentials_username & authenticate_credentials_password } authenticate_credentials_username = element username { text } authenticate_credentials_password = element password { text } authenticate_response = element authenticate_response { attribute status { status } & attribute status_text { text } } 7.1.3 Example: Authenticate with a good password
Client
<authenticate> <credentials> <username>sally</username> <password>secret</password> </credentials> </authenticate> <authenticate_response status="200" status_text="OK"/> 7.1.3 Example: Authenticate with a bad password
Client
<authenticate> <credentials> <username>sally</username> <password>secrte</password> </credentials> </authenticate> <authenticate_response status="400" status_text="Authentication failed"/> 7.2 Command commandsIn short: Run a list of commands. The client uses the commands command to run a list of commands. The elements are executed as OMP commands in the given sequence. The reply contains the result of each command, in the same order as the given commands. 7.2.1 Structure
7.2.2 RNC
Command
commands = element commands { ( authenticate | commands | create_agent | create_config | create_escalator | create_lsc_credential | create_note | create_override | create_schedule | create_target | create_task | delete_agent | delete_config | delete_escalator | delete_lsc_credential | delete_note | delete_override | delete_report | delete_schedule | delete_target | delete_task | get_agents | get_configs | get_dependencies | get_escalators | get_lsc_credentials | get_notes | get_nvts | get_nvt_families | get_nvt_feed_checksum | get_overrides | get_preferences | get_reports | get_results | get_schedules | get_system_reports | get_target_locators | get_targets | get_tasks | get_version | help | modify_config | modify_note | modify_override | modify_report | modify_task | pause_task | resume_or_start_task | resume_paused_task | resume_stopped_task | start_task | stop_task | test_escalator )* } commands_response = element commands_response { attribute status { status } & attribute status_text { text } & ( authenticate_response | commands_response | create_agent_response | create_config_response | create_escalator_response | create_lsc_credential_response | create_note_response | create_override_response | create_schedule_response | create_target_response | create_task_response | delete_agent_response | delete_config_response | delete_escalator_response | delete_lsc_credential_response | delete_note_response | delete_override_response | delete_report_response | delete_schedule_response | delete_target_response | delete_task_response | get_agents_response | get_configs_response | get_dependencies_response | get_escalators_response | get_lsc_credentials_response | get_notes_response | get_nvts_response | get_nvt_families_response | get_nvt_feed_checksum_response | get_overrides_response | get_preferences_response | get_reports_response | get_results_response | get_schedules_response | get_system_reports_response | get_target_locators_response | get_targets_response | get_tasks_response | get_version_response | help_response | modify_config_response | modify_note_response | modify_override_response | modify_report_response | modify_task_response | pause_task_response | resume_or_start_task_response | resume_paused_task_response | resume_stopped_task_response | start_task_response | stop_task_response | test_escalator_response )* } 7.3 Command create_agentIn short: Create an agent. The client uses the create_agent command to create a new agent. 7.3.1 Structure
7.3.2 RNC
Command
create_agent = element create_agent { create_agent_installer & create_agent_name & create_agent_comment? & create_agent_howto_install? & create_agent_howto_use? } create_agent_installer = element installer { text # RNC limitation: base64 & create_agent_installer_signature } create_agent_installer_signature = element signature { base64 } create_agent_name = element name { name } create_agent_comment = element comment { text } create_agent_howto_install = element howto_install { base64 } create_agent_howto_use = element howto_use { base64 } create_agent_response = element create_agent_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.3.3 Example: Create an agent
Client
<create_agent> <installer> asdf3235saf3kjBVF... <signature>iEYEABECAAYFA...</signature> </installer> <name>SLAD</name> </create_agent> <create_agent_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.4 Command create_configIn short: Create a config. The client uses the create_config command to create a new config. This command can be called in three ways:
7.4.1 Structure
7.4.2 RNC
Command
create_config = element create_config { create_config_comment? & ( create_config_copy | get_configs_response | create_config_rcfile ) & create_config_name } create_config_comment = element comment { text } create_config_copy = element copy { uuid } create_config_rcfile = element rcfile { base64 } create_config_name = element name { name } create_config_response = element create_config_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.4.3 Example: Copy a config
Client
<create_config> <copy>daba56c8-73ec-11df-a475-002264764cea</copy> <name>Full</name> </create_config> <create_config_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.4.3 Example: Create a config from an RC file
Client
<create_config> <rcfile>asdf3235saf3kjBVF...</rcfile> <name>Full</name> </create_config> <create_config_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.4.3 Example: Create a config from a GET_CONFIGS response
Client
<create_config> <get_configs_response> <config id="daba56c8-73ec-11df-a475-002264764cea"> <name>Full and fast</name> ... </config> </get_configs_response> </create_config> <create_config_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.5 Command create_escalatorIn short: Create an escalator. The client uses the create_escalator command to create a new escalator. 7.5.1 Structure
7.5.2 RNC
Command
create_escalator = element create_escalator { create_escalator_name & create_escalator_comment? & create_escalator_condition & create_escalator_event & create_escalator_method } create_escalator_name = element name { name } create_escalator_comment = element comment { text } create_escalator_condition = element condition { text & create_escalator_condition_data* } create_escalator_condition_data = element data { text & create_escalator_condition_data_name } create_escalator_condition_data_name = element name { text } create_escalator_event = element event { text & create_escalator_event_data* } create_escalator_event_data = element data { text & create_escalator_event_data_name } create_escalator_event_data_name = element name { text } create_escalator_method = element method { text & create_escalator_method_data* } create_escalator_method_data = element data { text & create_escalator_method_data_name } create_escalator_method_data_name = element name { text } create_escalator_response = element create_escalator_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.5.3 Example: Create an escalator
Client
<create_escalator> <name>emergency</name> <condition> Threat level at least <data> High <name>level</name> </data> </condition> <event> Task run status changed <data> Done <name>status</name> </data> </event> <method> Email <data> sally@example.org <name>to_address</name> </data> <data> bob@example.org <name>from_address</name> </data> </method> </create_escalator> <create_escalator_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.6 Command create_lsc_credentialIn short: Create an LSC credential. The client uses the create_lsc_credential command to create a new LSC credential. If the command includes a password, then the manager creates a password only credential, otherwise the manager creates a key-based credential. 7.6.1 Structure
7.6.2 RNC
Command
create_lsc_credential = element create_lsc_credential { create_lsc_credential_name & create_lsc_credential_comment? & create_lsc_credential_login & create_lsc_credential_password? } create_lsc_credential_name = element name { name } create_lsc_credential_comment = element comment { text } create_lsc_credential_login = element login { text } create_lsc_credential_password = element password { text } create_lsc_credential_response = element create_lsc_credential_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.6.3 Example: Create an LSC credential
Client
<create_lsc_credential> <name>cluster sally</name> <login>sally</login> <password>secret</password> <comment>Sally's login to the cluster.</comment> </create_lsc_credential> <create_lsc_credential_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.7 Command create_noteIn short: Create a note. The client uses the create_note command to create a new note. 7.7.1 Structure
7.7.2 RNC
Command
create_note = element create_note { create_note_text & create_note_nvt & create_note_comment? & create_note_hosts? & create_note_port? & create_note_result? & create_note_task? & create_note_threat? } create_note_text = element text { text } create_note_nvt = element nvt { attribute oid { oid } } create_note_comment = element comment { text } create_note_hosts = element hosts { text } create_note_port = element port { text } create_note_result = element result { attribute id { uuid } } create_note_task = element task { attribute id { uuid } } create_note_threat = element threat { threat } create_note_response = element create_note_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.7.3 Example: Create a note
Client
<create_note> <text>This issue should be resolved after the upgrade.</text> <nvt>1.3.6.1.4.1.25623.1.0.10330</nvt> <result>254cd3ef-bbe1-4d58-859d-21b8d0c046c6</result> </create_note> <create_note_response status="202" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.8 Command create_overrideIn short: Create an override. The client uses the create_override command to create a new override. 7.8.1 Structure
7.8.2 RNC
Command
create_override = element create_override { create_override_text & create_override_nvt & create_override_comment? & create_override_hosts? & create_override_new_threat? & create_override_port? & create_override_result? & create_override_task? & create_override_threat? } create_override_text = element text { text } create_override_nvt = element nvt { attribute oid { oid } } create_override_comment = element comment { text } create_override_hosts = element hosts { text } create_override_new_threat = element new_threat { threat } create_override_port = element port { text } create_override_result = element result { attribute id { uuid } } create_override_task = element task { attribute id { uuid } } create_override_threat = element threat { threat } create_override_response = element create_override_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.8.3 Example: Create an override
Client
<create_override> <text>This is actually of little concern.</text> <nvt>1.3.6.1.4.1.25623.1.0.10330</nvt> <new_threat>Low</new_threat> <result>254cd3ef-bbe1-4d58-859d-21b8d0c046c6</result> </create_override> <create_override_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.9 Command create_scheduleIn short: Create a schedule. The client uses the create_schedule command to create a new schedule. 7.9.1 Structure
7.9.2 RNC
Command
create_schedule = element create_schedule { create_schedule_name & create_schedule_comment? & create_schedule_first_time & create_schedule_duration & create_schedule_period } create_schedule_name = element name { name } create_schedule_comment = element comment { text } create_schedule_first_time = element first_time { create_schedule_first_time_minute & create_schedule_first_time_hour & create_schedule_first_time_day_of_month & create_schedule_first_time_month & create_schedule_first_time_year } create_schedule_first_time_minute = element minute { integer } create_schedule_first_time_hour = element hour { integer } create_schedule_first_time_day_of_month = element day_of_month { integer } create_schedule_first_time_month = element month { integer } create_schedule_first_time_year = element year { integer } create_schedule_duration = element duration { create_schedule_duration_unit } create_schedule_duration_unit = element unit { time_unit } create_schedule_period = element period { create_schedule_period_unit } create_schedule_period_unit = element unit { time_unit } create_schedule_response = element create_schedule_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.9.3 Example: Create a schedule
Client
<create_schedule> <name>Every night</name> <first_time> <day_of_month>1</day_of_month> <hour>0</hour> <minute>0</minute> <month>1</month> <year>2011</year> </first_time> <duration> 3 <unit>hour</unit> </duration> <period> 1 <unit>day</unit> </period> </create_schedule> <create_schedule_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.10 Command create_targetIn short: Create a target. The client uses the create_target command to create a new target. If the list of hosts is empty, the command must also include a target locator. 7.10.1 Structure
7.10.2 RNC
Command
create_target = element create_target { create_target_name & create_target_comment? & create_target_hosts & create_target_lsc_credential & create_target_target_locator } create_target_name = element name { name } create_target_comment = element comment { text } create_target_hosts = element hosts { text } create_target_lsc_credential = element lsc_credential { attribute id { uuid } } create_target_target_locator = element target_locator { create_target_target_locator_username? & create_target_target_locator_password? } create_target_target_locator_username = element username { text } create_target_target_locator_password = element password { text } create_target_response = element create_target_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.10.3 Example: Create a target, giving a host list
Client
<create_target> <create_target> <name>All GNU/Linux machines</name> <hosts>192.168.1.0/24</hosts> </create_target> </create_target> <create_target_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.11 Command create_taskIn short: Create a task. The client uses the create_task command to create a new task. If an rcfile is given, then config and target should actually be left out. This form of the command is special support for OpenVAS-Client, and will likely be removed in future versions. 7.11.1 Structure
7.11.2 RNC
Command
create_task = element create_task { create_task_name & create_task_comment? & create_task_config & create_task_target & create_task_escalator? & create_task_schedule? & create_task_rcfile? } create_task_name = element name { name } create_task_comment = element comment { text } create_task_config = element config { attribute id { uuid } } create_task_target = element target { attribute id { uuid } } create_task_escalator = element escalator { attribute id { uuid } } create_task_schedule = element schedule { attribute id { uuid } } create_task_rcfile = element rcfile { base64 } create_task_response = element create_task_response { attribute status { status } & attribute status_text { text } & attribute id { uuid } } 7.11.3 Example: Create a task, giving a host list
Client
<create_task> <name>Scan Webserver</name> <comment>Hourly scan of the webserver</comment> <config id="daba56c8-73ec-11df-a475-002264764cea"/> <target id="b493b7a8-7489-11df-a3ec-002264764cea"/> </create_task> <create_task_response status="201" status_text="OK, resource created" id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"/> 7.12 Command delete_agentIn short: Delete an agent. The client uses the delete_agent command to delete an existing agent. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.12.1 Structure7.12.2 RNC
Command
delete_agent = element delete_agent { attribute agent_id { uuid } } delete_agent_response = element delete_agent_response { attribute status { status } & attribute status_text { text } } 7.12.3 Example: Delete an agent
Client
<delete_agent agent_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_agent_response status="200" status_text="OK"/> 7.13 Command delete_configIn short: Delete a config. The client uses the delete_config command to delete an existing config. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.13.1 Structure7.13.2 RNC
Command
delete_config = element delete_config { attribute config_id { uuid } } delete_config_response = element delete_config_response { attribute status { status } & attribute status_text { text } } 7.13.3 Example: Delete a config
Client
<delete_config config_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_config_response status="200" status_text="OK"/> 7.14 Command delete_escalatorIn short: Delete an escalator. The client uses the delete_escalator command to delete an existing escalator. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.14.1 Structure7.14.2 RNC
Command
delete_escalator = element delete_escalator { attribute escalator_id { uuid } } delete_escalator_response = element delete_escalator_response { attribute status { status } & attribute status_text { text } } 7.14.3 Example: Delete an escalator
Client
<delete_escalator escalator_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_escalator_response status="200" status_text="OK"/> 7.15 Command delete_lsc_credentialIn short: Delete an LSC credential. The client uses the delete_lsc_credential command to delete an existing LSC credential. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.15.1 Structure7.15.2 RNC
Command
delete_lsc_credential = element delete_lsc_credential { attribute lsc_credential_id { uuid } } delete_lsc_credential_response = element delete_lsc_credential_response { attribute status { status } & attribute status_text { text } } 7.15.3 Example: Delete an LSC credential
Client
<delete_lsc_credential lsc_credential_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_lsc_credential_response status="200" status_text="OK"/> 7.16 Command delete_noteIn short: Delete a note. The client uses the delete_note command to delete an existing note. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.16.1 Structure7.16.2 RNC
Command
delete_note = element delete_note { attribute note_id { uuid } } delete_note_response = element delete_note_response { attribute status { status } & attribute status_text { text } } 7.16.3 Example: Delete a note
Client
<delete_note note_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_note_response status="200" status_text="OK"/> 7.17 Command delete_overrideIn short: Delete an override. The client uses the delete_override command to delete an existing override. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.17.1 Structure7.17.2 RNC
Command
delete_override = element delete_override { attribute override_id { uuid } } delete_override_response = element delete_override_response { attribute status { status } & attribute status_text { text } } 7.17.3 Example: Delete an override
Client
<delete_override override_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_override_response status="200" status_text="OK"/> 7.18 Command delete_reportIn short: Delete a report. The client uses the delete_report command to delete an existing report. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.18.1 Structure7.18.2 RNC
Command
delete_report = element delete_report { attribute report_id { uuid } } delete_report_response = element delete_report_response { attribute status { status } & attribute status_text { text } } 7.18.3 Example: Delete a report
Client
<delete_report report_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_report_response status="200" status_text="OK"/> 7.19 Command delete_scheduleIn short: Delete a schedule. The client uses the delete_schedule command to delete an existing schedule. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.19.1 Structure7.19.2 RNC
Command
delete_schedule = element delete_schedule { attribute schedule_id { uuid } } delete_schedule_response = element delete_schedule_response { attribute status { status } & attribute status_text { text } } 7.19.3 Example: Delete a schedule
Client
<delete_schedule schedule_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_schedule_response status="200" status_text="OK"/> 7.20 Command delete_targetIn short: Delete a target. The client uses the delete_target command to delete an existing target. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.20.1 Structure7.20.2 RNC
Command
delete_target = element delete_target { attribute target_id { uuid } } delete_target_response = element delete_target_response { attribute status { status } & attribute status_text { text } } 7.20.3 Example: Delete a target
Client
<delete_target target_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_target_response status="200" status_text="OK"/> 7.21 Command delete_taskIn short: Delete a task. The client uses the delete_task command to delete an existing task, including all reports associated with the task. Since this is a destructive command, the client is advised to ask for confirmation from the user before sending this command to the Manager. 7.21.1 Structure7.21.2 RNC
Command
delete_task = element delete_task { attribute task_id { uuid } } delete_task_response = element delete_task_response { attribute status { status } & attribute status_text { text } } 7.21.3 Example: Delete a task
Client
<delete_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <delete_task_response status="200" status_text="OK"/> 7.22 Command get_agentsIn short: Get all agents. The client uses the get_agents command to get agent information. If the command sent by the client was valid, the manager will reply with a list of agents to the client. If the request includes a format then the agents in the response include installer elements, otherwise they include package elements. 7.22.1 Structure
7.22.2 RNC
Command
get_agents = element get_agents { attribute agent_id { uuid }? & attribute format { xsd:token { pattern = "installer|howto_install|howto_use" } }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_agents_response = element get_agents_response { attribute status { status } & attribute status_text { text } & get_agents_response_agent* } get_agents_response_agent = element agent { attribute id { uuid } & get_agents_response_agent_name & get_agents_response_agent_comment & get_agents_response_agent_in_use & ( get_agents_response_agent_installer | get_agents_response_agent_package ) } get_agents_response_agent_name = element name { name } get_agents_response_agent_comment = element comment { text } get_agents_response_agent_in_use = element in_use { boolean } get_agents_response_agent_installer = element installer { get_agents_response_agent_installer_trust } get_agents_response_agent_installer_trust = element trust { xsd:token { pattern = "yes|no|unknown" } } get_agents_response_agent_package = element package { text # RNC limitation: base64 & get_agents_response_agent_package_filename } get_agents_response_agent_package_filename = element filename { text } 7.22.3 Example: Get all agents
Client
<get_agents/> <get_agents_response status="200" status_text="OK"> <agent id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"> <name>Custom Scan Agent</name> <comment>Custom agent for use on the Web servers.</comment> <in_use>1</in_use> <installer> <trust>yes</trust> </installer> </agent> ... </get_agents_response> 7.22.3 Example: Get one agent
Client
<get_agents agent_id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"/> <get_agents_response status="200" status_text="OK"> <agent id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"> <name>Custom Scan Agent</name> <comment>Custom agent for use on the Web servers.</comment> <in_use>1</in_use> <installer> <trust>yes</trust> </installer> </agent> </get_agents_response> 7.22.3 Example: Get one agent, including the installer package
Client
<get_agents agent_id="c33864a9-d3fd-44b3-8717-972bfb01dfcf" format="installer"/> <get_agents_response status="200" status_text="OK"> <agent id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"> <name>Custom Scan Agent</name> <comment>Custom agent for use on the Web servers.</comment> <in_use>1</in_use> <package format="installer"> CgoKCgoKCgoKCgoKCSAgI... <filename>agent.deb</filename> </package> </agent> </get_agents_response> 7.23 Command get_configsIn short: Get all configs. The client uses the get_configs command to get config information. If the command sent by the client was valid, the manager will reply with a list of configs to the client. 7.23.1 Structure
7.23.2 RNC
Command
get_configs = element get_configs { attribute config_id { uuid }? & attribute families { boolean }? & attribute preferences { boolean }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_configs_response = element get_configs_response { attribute status { status } & attribute status_text { text } & get_configs_response_config* } get_configs_response_config = element config { get_configs_response_config_name & get_configs_response_config_comment & get_configs_response_config_family_count & get_configs_response_config_nvt_count & get_configs_response_config_in_use & get_configs_response_config_tasks & get_configs_response_config_families? & get_configs_response_config_preferences? } get_configs_response_config_name = element name { name } get_configs_response_config_comment = element comment { text } get_configs_response_config_family_count = element family_count { text # RNC limitation: integer & get_configs_response_config_family_count_growing } get_configs_response_config_family_count_growing = element growing { boolean } get_configs_response_config_nvt_count = element nvt_count { text # RNC limitation: integer & get_configs_response_config_nvt_count_growing } get_configs_response_config_nvt_count_growing = element growing { boolean } get_configs_response_config_in_use = element in_use { boolean } get_configs_response_config_tasks = element tasks { get_configs_response_config_tasks_task* } get_configs_response_config_tasks_task = element task { attribute id { uuid } & get_configs_response_config_tasks_task_name } get_configs_response_config_tasks_task_name = element name { name } get_configs_response_config_families = element families { get_configs_response_config_families_family* } get_configs_response_config_families_family = element family { get_configs_response_config_families_family_name & get_configs_response_config_families_family_nvt_count & get_configs_response_config_families_family_max_nvt_count & get_configs_response_config_families_family_growing } get_configs_response_config_families_family_name = element name { name } get_configs_response_config_families_family_nvt_count = element nvt_count { integer } get_configs_response_config_families_family_max_nvt_count = element max_nvt_count { integer } get_configs_response_config_families_family_growing = element growing { boolean } get_configs_response_config_preferences = element preferences { get_configs_response_config_preferences_preference* } get_configs_response_config_preferences_preference = element preference { get_configs_response_config_preferences_preference_nvt & get_configs_response_config_preferences_preference_name & get_configs_response_config_preferences_preference_type & get_configs_response_config_preferences_preference_value } get_configs_response_config_preferences_preference_nvt = element nvt { attribute oid { oid } & get_configs_response_config_preferences_preference_nvt_name } get_configs_response_config_preferences_preference_nvt_name = element name { name } get_configs_response_config_preferences_preference_name = element name { name } get_configs_response_config_preferences_preference_type = element type { text } get_configs_response_config_preferences_preference_value = element value { text } 7.23.3 Example: Get all configs
Client
<get_configs/> <get_configs_response status="200" status_text="OK"> <config id="daba56c8-73ec-11df-a475-002264764cea"> <name>Full and fast</name> <comment> All NVT's; optimized by using previously collected information. </comment> <family_count> 4 <growing>1</growing> </family_count> <nvt_count> 12 <growing>1</growing> </nvt_count> <in_use>1</in_use> <tasks> <task id="13bb418a-4220-4575-b35b-ec398bff7417"> <name>Web Servers</name> </task> ... </tasks> </config> ... </get_configs_response> 7.23.3 Example: Get a single config, including preference and family lists
Client
<get_configs config_id="daba56c8-73ec-11df-a475-002264764cea" preferences="1" families="1"/> <get_configs_response status="200" status_text="OK"> <config id="daba56c8-73ec-11df-a475-002264764cea"> <name>Full and fast</name> <comment> All NVT's; optimized by using previously collected information. </comment> <family_count> 4 <growing>1</growing> </family_count> <nvt_count> 12 <growing>1</growing> </nvt_count> <in_use>1</in_use> <tasks> <task id="13bb418a-4220-4575-b35b-ec398bff7417"> <name>Web Servers</name> </task> ... </tasks> <families> <family> <name>Credentials</name> <nvt_count>8</nvt_count> <max_nvt_count>8</max_nvt_count> <growing>1</growing> </family> ... </families> <preferences> <preference> <nvt oid="1.3.6.1.4.1.25623.1.0.10330"> <name>Services</name> </nvt> <name>Network connection timeout :</name> <type>entry</type> <value>5</value> </preference> ... </preferences> </config> ... </get_configs_response> 7.24 Command get_dependenciesIn short: Get dependencies for all available NVTs. The client uses the get_dependencies command to request the dependencies for one or all NVTs available through this manager. 7.24.1 Structure
7.24.2 RNC
Command
get_dependencies = element get_dependencies { attribute nvt_oid { oid }? } get_dependencies_response = element get_dependencies_response { attribute status { status } & attribute status_text { text } & get_dependencies_response_nvt* } get_dependencies_response_nvt = element nvt { attribute oid { oid } & get_dependencies_response_nvt_name & get_dependencies_response_nvt_requires } get_dependencies_response_nvt_name = element name { name } get_dependencies_response_nvt_requires = element requires { get_dependencies_response_nvt_requires_nvt* } get_dependencies_response_nvt_requires_nvt = element nvt { attribute oid { oid } & get_dependencies_response_nvt_requires_nvt_name } get_dependencies_response_nvt_requires_nvt_name = element name { name } 7.24.3 Example: Get dependencies for all NVTs
Client
<get_dependencies/> <get_dependencies_response status="200" status_text="OK"> <nvt oid="1.3.6.1.4.1.25623.1.0.114664"> <name>Dependency Test</name> <requires> <nvt oid="1.3.6.1.4.1.25623.1.0.114663"> <name>File Upload Test</name> </nvt> </requires> </nvt> ... </get_dependencies_response> 7.24.3 Example: Get dependencies for a single NVT
Client
<get_dependencies nvt_oid="1.3.6.1.4.1.25623.1.0.114664"/> <get_dependencies_response status="200" status_text="OK"> <nvt oid="1.3.6.1.4.1.25623.1.0.114664"> <name>Dependency Test</name> <requires> <nvt oid="1.3.6.1.4.1.25623.1.0.114663"> <name>File Upload Test</name> </nvt> </requires> </nvt> </get_dependencies_response> 7.25 Command get_escalatorsIn short: Get all escalators. The client uses the get_escalators command to get escalator information. If the command sent by the client was valid, the manager will reply with a list of escalators to the client. 7.25.1 Structure
7.25.2 RNC
Command
get_escalators = element get_escalators { attribute escalator_id { uuid }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_escalators_response = element get_escalators_response { attribute status { status } & attribute status_text { text } & get_escalators_response_escalator* } get_escalators_response_escalator = element escalator { get_escalators_response_escalator_name & get_escalators_response_escalator_comment & get_escalators_response_escalator_in_use & get_escalators_response_escalator_condition & get_escalators_response_escalator_event & get_escalators_response_escalator_method } get_escalators_response_escalator_name = element name { name } get_escalators_response_escalator_comment = element comment { text } get_escalators_response_escalator_in_use = element in_use { boolean } get_escalators_response_escalator_condition = element condition { text & get_escalators_response_escalator_condition_data* } get_escalators_response_escalator_condition_data = element data { text & get_escalators_response_escalator_condition_data_name } get_escalators_response_escalator_condition_data_name = element name { text } get_escalators_response_escalator_event = element event { text & get_escalators_response_escalator_event_data* } get_escalators_response_escalator_event_data = element data { text & get_escalators_response_escalator_event_data_name } get_escalators_response_escalator_event_data_name = element name { text } get_escalators_response_escalator_method = element method { text & get_escalators_response_escalator_method_data* } get_escalators_response_escalator_method_data = element data { text & get_escalators_response_escalator_method_data_name } get_escalators_response_escalator_method_data_name = element name { text } 7.25.3 Example: Get the escalators
Client
<get_escalators/> <get_escalators_response status="200" status_text="OK"> <escalator id="6181e65d-8ba0-4937-9c44-8f2b10b0def7"> <name>Team alert</name> <comment/> <in_use>1</in_use> <condition> Threat level at least <data> High <name>level</name> </data> </condition> <event> Task run status changed <data> Done <name>status</name> </data> </event> <method> Email <data> team@example.org <name>to_address</name> </data> <data> admin@example.org <name>from_address</name> </data> <data> 0 <name>notice</name> </data> </method> </escalator> ... </get_escalators_response> 7.26 Command get_lsc_credentialsIn short: Get all LSC credentials. The client uses the get_lsc_credentials command to get LSC credential information. If the command sent by the client was valid, the manager will reply with a list of LSC credentials to the client. 7.26.1 Structure
7.26.2 RNC
Command
get_lsc_credentials = element get_lsc_credentials { attribute lsc_credential_id { uuid }? & attribute format { xsd:token { pattern = "key|rpm|deb|exe" } }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_lsc_credentials_response = element get_lsc_credentials_response { attribute status { status } & attribute status_text { text } & get_lsc_credentials_response_lsc_credential* } get_lsc_credentials_response_lsc_credential = element lsc_credential { attribute id { uuid } & get_lsc_credentials_response_lsc_credential_name & get_lsc_credentials_response_lsc_credential_login & get_lsc_credentials_response_lsc_credential_comment & get_lsc_credentials_response_lsc_credential_in_use & get_lsc_credentials_response_lsc_credential_type & get_lsc_credentials_response_lsc_credential_targets & get_lsc_credentials_response_lsc_credential_public_key? & get_lsc_credentials_response_lsc_credential_package? } get_lsc_credentials_response_lsc_credential_name = element name { name } get_lsc_credentials_response_lsc_credential_login = element login { name } get_lsc_credentials_response_lsc_credential_comment = element comment { text } get_lsc_credentials_response_lsc_credential_in_use = element in_use { boolean } get_lsc_credentials_response_lsc_credential_type = element type { xsd:token { pattern = "gen|pass" } } get_lsc_credentials_response_lsc_credential_targets = element targets { get_lsc_credentials_response_lsc_credential_targets_target* } get_lsc_credentials_response_lsc_credential_targets_target = element target { attribute id { uuid } & get_lsc_credentials_response_lsc_credential_targets_target_name } get_lsc_credentials_response_lsc_credential_targets_target_name = element name { name } get_lsc_credentials_response_lsc_credential_public_key = element public_key { text } get_lsc_credentials_response_lsc_credential_package = element package { base64 & attribute format { xsd:token { pattern = "rpm|deb|exe" } } } 7.26.3 Example: Get all the LSC credentials
Client
<get_lsc_credentials/> <get_lsc_credentials_response status="200" status_text="OK"> <lsc_credential id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"> <name>sally</name> <login>sally</login> <comment/> <in_use>0</in_use> <type>gen</type> <targets/> </lsc_credential> <lsc_credential id="8e305b0b-260d-450d-91a8-dadf0b144e15"> <name>bob</name> <login>bob</login> <comment>Bob on the web server.</comment> <in_use>1</in_use> <type>pass</type> <targets> <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9"> <name>Web server</name> </target> </targets> </lsc_credential> ... </get_lsc_credentials_response> 7.26.3 Example: Get the public key of a single LSC credential
Client
<get_lsc_credentials lsc_credential_id="8e305b0b-260d-450d-91a8-dadf0b144e15" format="key"/> <get_lsc_credentials_response status="200" status_text="OK"> <lsc_credential id="8e305b0b-260d-450d-91a8-dadf0b144e15"> <name>bob</name> <login>bob</login> <comment>Bob on the web server.</comment> <in_use>1</in_use> <type>pass</type> <targets> <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9"> <name>Web server</name> </target> </targets> <public_key> ssh-rsa AAAAB3...Z64IcQ== Key generated by OpenVAS Manager </public_key> </lsc_credential> </get_lsc_credentials_response> 7.26.3 Example: Get the Debian package of a single LSC credential
Client
<get_lsc_credentials lsc_credential_id="8e305b0b-260d-450d-91a8-dadf0b144e15" format="deb"/> <get_lsc_credentials_response status="200" status_text="OK"> <lsc_credential id="8e305b0b-260d-450d-91a8-dadf0b144e15"> <name>bob</name> <login>bob</login> <comment>Bob on the web server.</comment> <in_use>1</in_use> <type>pass</type> <targets> <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9"> <name>Web server</name> </target> </targets> <package format="deb">ITxhcmNoPgpk...DmvF0AKAAACg==</package> </lsc_credential> </get_lsc_credentials_response> 7.27 Command get_notesIn short: Get all notes. The client uses the get_notes command to get note information. If the command sent by the client was valid, the manager will reply with a list of notes to the client. 7.27.1 Structure
7.27.2 RNC
Command
get_notes = element get_notes { attribute note_id { uuid }? & attribute nvt_oid { oid }? & attribute task_id { uuid }? & attribute details { boolean }? & attribute result { boolean }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_notes_response = element get_notes_response { attribute status { status } & attribute status_text { text } & get_notes_response_note* } get_notes_response_note = element note { get_notes_response_note_nvt & get_notes_response_note_text & get_notes_response_note_orphan & ( get_notes_response_note_creation_time & get_notes_response_note_modification_time & get_notes_response_note_hosts & get_notes_response_note_port & get_notes_response_note_threat & get_notes_response_note_task & get_notes_response_note_result? )? } get_notes_response_note_nvt = element nvt { attribute oid { oid } & get_notes_response_note_nvt_name } get_notes_response_note_nvt_name = element name { name } get_notes_response_note_text = element text { text & attribute excerpt { boolean } } get_notes_response_note_orphan = element orphan { boolean } get_notes_response_note_creation_time = element creation_time { ctime } get_notes_response_note_modification_time = element modification_time { ctime } get_notes_response_note_hosts = element hosts { text } get_notes_response_note_port = element port { text } get_notes_response_note_threat = element threat { threat } get_notes_response_note_task = element task { attribute id { uuid } } get_notes_response_note_result = element result { attribute id { uuid } & get_notes_response_note_result_subnet & get_notes_response_note_result_host & get_notes_response_note_result_port & get_notes_response_note_result_nvt & get_notes_response_note_result_threat & get_notes_response_note_result_description } get_notes_response_note_result_subnet = element subnet { text } get_notes_response_note_result_host = element host { text } get_notes_response_note_result_port = element port { text } get_notes_response_note_result_nvt = element nvt { attribute oid { oid } & get_notes_response_note_result_nvt_name & get_notes_response_note_result_nvt_cvss_base & get_notes_response_note_result_nvt_risk_factor } get_notes_response_note_result_nvt_name = element name { name } get_notes_response_note_result_nvt_cvss_base = element cvss_base { text } get_notes_response_note_result_nvt_risk_factor = element risk_factor { text } get_notes_response_note_result_threat = element threat { threat } get_notes_response_note_result_description = element description { text } 7.27.3 Example: Get all notes
Client
<get_notes/> <get_notes_response status="200" status_text="OK"> <note id="b76b81a7-9df8-42df-afff-baa9d4620128"> <nvt oid="1.3.6.1.4.1.25623.1.0.75"> <name>Test NVT: long lines</name> </nvt> <text excerpt="0">This is the full text of the note.</text> <orphan>1</orphan> </note> ... </get_notes_response> 7.27.3 Example: Get details of a single note
Client
<get_notes note_id="7f618bbb-4664-419e-9bbf-367d93954cb0" details="1" result="1"/> <get_notes_response status="200" status_text="OK"> <note id="7f618bbb-4664-419e-9bbf-367d93954cb0"> <nvt oid="1.3.6.1.4.1.25623.1.0.77"> <name>Test NVT: control chars in report result</name> </nvt> <creation_time>Sun Jun 27 08:49:46 2010</creation_time> <modification_time>Sun Jun 27 08:49:46 2010</modification_time> <text>note fixed to result</text> <hosts>127.0.0.1</hosts> <port>general/tcp</port> <threat>Medium</threat> <task id="40b236a9-2b0f-4813-b8c7-bc2b98d9d7e4"> <name>test</name> </task> <orphan>0</orphan> <result id="0c95e6b3-1100-4dfd-88f1-4bed1fad29de"> <subnet>127.0.0.1</subnet> <host>127.0.0.1</host> <port>general/tcp</port> <nvt oid="1.3.6.1.4.1.25623.1.0.77"> <name>Test NVT: control chars in report result</name> <cvss_base/> <risk_factor/> </nvt> <threat>Medium</threat> <description>Warning with control char between fullstops: . .</description> </result> </note> ... </get_notes_response> 7.28 Command get_nvtsIn short: Get all NVTs. The client uses the get_nvts command to get NVT information. This command may always include a details flag, a config, a sort order and a sort field. If the command includes a details flag, the manager also consults the timeout, preference_count and preferences flags. The timeout and preferences flags require a config. The NVT OID, family name and config attributes limit the listing to a single NVT or all NVTs in a particular family and/or config. If the details flag is present the manager will send full details of the NVT, otherwise it will send just the NVT name and checksum. With the preferences flag the manager includes in the listing, the values of each listed NVT's preferences for the given config. The timeout flag does the same for the special timeout preference. If the manager possesses an NVT collection, it will reply with the NVT information. If the manager cannot access a list of available NVTs at that time, it will reply with the 503 response. 7.28.1 Structure
7.28.2 RNC
Command
get_nvts = element get_nvts { attribute nvt_oid { oid } & attribute details { boolean }? & attribute preferences { boolean }? & attribute preference_count { boolean }? & attribute timeout { boolean }? & attribute config_id { uuid }? & attribute family { text }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_nvts_response = element get_nvts_response { attribute status { status } & attribute status_text { text } & get_nvts_response_nvt } get_nvts_response_nvt = element nvt { attribute id { uuid } & get_nvts_response_nvt_name & get_nvts_response_nvt_checksum & ( get_nvts_response_nvt_category & get_nvts_response_nvt_copyright & get_nvts_response_nvt_description & get_nvts_response_nvt_summary & get_nvts_response_nvt_family & get_nvts_response_nvt_version & get_nvts_response_nvt_cvss_base & get_nvts_response_nvt_risk_factor & get_nvts_response_nvt_cve_id & get_nvts_response_nvt_bugtraq_id & get_nvts_response_nvt_xrefs & get_nvts_response_nvt_fingerprints & get_nvts_response_nvt_tags & get_nvts_response_nvt_preference_count? & get_nvts_response_nvt_timeout? & get_nvts_response_nvt_preferences? )? } get_nvts_response_nvt_name = element name { name } get_nvts_response_nvt_category = element category { text } get_nvts_response_nvt_copyright = element copyright { text } get_nvts_response_nvt_description = element description { text } get_nvts_response_nvt_summary = element summary { text } get_nvts_response_nvt_family = element family { text } get_nvts_response_nvt_version = element version { text } get_nvts_response_nvt_cvss_base = element cvss_base { text } get_nvts_response_nvt_risk_factor = element risk_factor { text } get_nvts_response_nvt_cve_id = element cve_id { text } get_nvts_response_nvt_bugtraq_id = element bugtraq_id { text } get_nvts_response_nvt_xrefs = element xrefs { text } get_nvts_response_nvt_fingerprints = element fingerprints { text } get_nvts_response_nvt_tags = element tags { text } get_nvts_response_nvt_preference_count = element preference_count { text } get_nvts_response_nvt_timeout = element timeout { text } get_nvts_response_nvt_checksum = element checksum { text & get_nvts_response_nvt_checksum_algorithm } get_nvts_response_nvt_checksum_algorithm = element algorithm { text } get_nvts_response_nvt_preferences = element preferences { text & get_nvts_response_nvt_preferences_timeout & get_nvts_response_nvt_preferences_preference* } get_nvts_response_nvt_preferences_timeout = element timeout { text } get_nvts_response_nvt_preferences_preference = element preference { get_nvts_response_nvt_preferences_preference_nvt & get_nvts_response_nvt_preferences_preference_name & get_nvts_response_nvt_preferences_preference_type & get_nvts_response_nvt_preferences_preference_value } get_nvts_response_nvt_preferences_preference_nvt = element nvt { oid } get_nvts_response_nvt_preferences_preference_name = element name { text } get_nvts_response_nvt_preferences_preference_type = element type { text } get_nvts_response_nvt_preferences_preference_value = element value { text } 7.28.3 Example: Get full NVT listing
Client
<get_nvts details="1" timeout="1" preference_count="1" preferences="1"/> <get_nvts_response status="200" status_text="OK"> <nvt oid="1.3.6.1.4.1.25623.1.7.13005"> <name>Services</name> <category>Services</category> <copyright>GNU GPL v2</copyright> <description> This script attepts to detects with service is running on which port. </description> <summary>Find what is listening on which port</summary> <family>Service detection</family> <version>$Revision: 1852 $</version> <cvss_base/> <risk_factor>None</risk_factor> <cve_id>NOCVE</cve_id> <bugtraq_id>NOBID</bugtraq_id> <xrefs>NOXREF</xrefs> <fingerprints>NOSIGNKEYS</fingerprints> <tags>NOTAG</tags> <preference_count>-1</preference_count> <timeout/> <checksum> 2397586ea5cd3a69f953836f7be9ef7b <algorithm>md5</algorithm> </checksum> <preferences> <timeout/> <preference> <nvt oid="1.3.6.1.4.1.25623.1.0.10330"> <name>Services</name> </nvt> <name>Network connection timeout :</name> <type>entry</type> <value>5</value> </preference> ... </preferences> </nvt> <nvt oid="1.3.6.1.4.1.25623.1.7.13006"> <name>FooBar 21</name> <category>Services</category> <copyright>GNU GPL v2</copyright> <description> This script detects whether the FooBar 2.1 XSS vulnerability is present. </description> ... </nvt> ... </get_nvts_response> 7.28.3 Example: Get minimal information about one NVT
Client
<get_nvts nvt_oid="1.3.6.1.4.1.25623.1.0.10330"/> <get_nvts_response status="200" status_text="OK"> <nvt oid="1.3.6.1.4.1.25623.1.0.10330"> <name>Services</name> <checksum> 2397586ea5cd3a69f953836f7be9ef7b <algorithm>md5</algorithm> </checksum> </nvt> </get_nvts_response> 7.29 Command get_nvt_familiesIn short: Get a list of all NVT families. The client uses the get_nvt_families command to get NVT family information. If the command sent by the client was valid, the manager will reply with a list of NVT families to the client. 7.29.1 Structure
7.29.2 RNC
Command
get_nvt_families = element get_nvt_families { attribute sort_order { sort_order }? } get_nvt_families_response = element get_nvt_families_response { attribute status { status } & attribute status_text { text } & get_nvt_families_response_families } get_nvt_families_response_families = element families { get_nvt_families_response_families_family* } get_nvt_families_response_families_family = element family { get_nvt_families_response_families_family_name & get_nvt_families_response_families_family_max_nvt_count } get_nvt_families_response_families_family_name = element name { name } get_nvt_families_response_families_family_max_nvt_count = element max_nvt_count { integer } 7.29.3 Example: Get the NVT families
Client
<get_nvt_families/> <get_nvt_families_response status="200" status_text="OK"> <families> <family> <name>Credentials</name> <max_nvt_count>8</max_nvt_count> </family> <family> <name>Port scanners</name> <max_nvt_count>12</max_nvt_count> </family> ... </families> </get_nvt_families_response> 7.30 Command get_nvt_feed_checksumIn short: Get checksum for entire NVT collection. The client uses the get_nvt_feed_checksum command to request a checksum for the complete NVT collection available through this manager. The client may specify an algorithm to be used for computing this checksum. If the specified algorithm is not implemented in the manager, then the manager will reply with a response code in the 4xx range. If the client does not specify a checksum algorithm, the manager is expected to use the MD5 algorithm for computing the checksum. If the manager possesses such a collection, it will reply with a response code indicating success, and the checksum over all NVT files. If the manager cannot access a list of available NVTs at present, it will reply with the 503 response. 7.30.1 Structure
7.30.2 RNC
Command
get_nvt_feed_checksum = element get_nvt_feed_checksum { attribute algorithm { text }? } get_nvt_feed_checksum_response = element get_nvt_feed_checksum_response { attribute status { status } & attribute status_text { text } & get_nvt_feed_checksum_response_checksum } get_nvt_feed_checksum_response_checksum = element checksum { text # RNC limitation: base64 & attribute algorithm { text } } 7.30.3 Example: Get the NVT feed checksum
Client
<get_nvt_feed_checksum/> <get_nvt_feed_checksum_response status="200" status_text="OK"> <checksum algorithm="md5">931db829a06b9a440a2ecaeb68c03715</checksum> </get_nvt_feed_checksum_response> 7.31 Command get_overridesIn short: Get all overrides. The client uses the get_overrides command to get override information. If the command sent by the client was valid, the manager will reply with a list of overrides to the client. 7.31.1 Structure
7.31.2 RNC
Command
get_overrides = element get_overrides { attribute override_id { uuid }? & attribute nvt_oid { oid }? & attribute task_id { uuid }? & attribute details { boolean }? & attribute result { boolean }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_overrides_response = element get_overrides_response { attribute status { status } & attribute status_text { text } & get_overrides_response_override* } get_overrides_response_override = element override { get_overrides_response_override_nvt & get_overrides_response_override_text & get_overrides_response_override_threat & get_overrides_response_override_new_threat & get_overrides_response_override_orphan & ( get_overrides_response_override_creation_time & get_overrides_response_override_modification_time & get_overrides_response_override_hosts & get_overrides_response_override_port & get_overrides_response_override_task & get_overrides_response_override_result? )? } get_overrides_response_override_nvt = element nvt { attribute oid { oid } & get_overrides_response_override_nvt_name } get_overrides_response_override_nvt_name = element name { name } get_overrides_response_override_text = element text { text & attribute excerpt { boolean } } get_overrides_response_override_threat = element threat { threat } get_overrides_response_override_new_threat = element new_threat { threat } get_overrides_response_override_orphan = element orphan { boolean } get_overrides_response_override_creation_time = element creation_time { ctime } get_overrides_response_override_modification_time = element modification_time { ctime } get_overrides_response_override_hosts = element hosts { text } get_overrides_response_override_port = element port { text } get_overrides_response_override_task = element task { attribute id { uuid } } get_overrides_response_override_result = element result { attribute id { uuid } & get_overrides_response_override_result_subnet & get_overrides_response_override_result_host & get_overrides_response_override_result_port & get_overrides_response_override_result_nvt & get_overrides_response_override_result_threat & get_overrides_response_override_result_description } get_overrides_response_override_result_subnet = element subnet { text } get_overrides_response_override_result_host = element host { text } get_overrides_response_override_result_port = element port { text } get_overrides_response_override_result_nvt = element nvt { attribute oid { oid } & get_overrides_response_override_result_nvt_name & get_overrides_response_override_result_nvt_cvss_base & get_overrides_response_override_result_nvt_risk_factor } get_overrides_response_override_result_nvt_name = element name { name } get_overrides_response_override_result_nvt_cvss_base = element cvss_base { text } get_overrides_response_override_result_nvt_risk_factor = element risk_factor { text } get_overrides_response_override_result_threat = element threat { threat } get_overrides_response_override_result_description = element description { text } 7.31.3 Example: Get all overrides
Client
<get_overrides/> <get_overrides_response status="200" status_text="OK"> <override id="b76b81a7-9df8-42df-afff-baa9d4620128"> <nvt oid="1.3.6.1.4.1.25623.1.0.75"> <name>Test NVT: long lines</name> </nvt> <text excerpt="0">This is the full text of the override.</text> <threat>High</threat> <new_threat>Log</new_threat> <orphan>1</orphan> </override> ... </get_overrides_response> 7.31.3 Example: Get details of a single override
Client
<get_overrides override_id="7f618bbb-4664-419e-9bbf-367d93954cb0" details="1"/> <get_overrides_response status="200" status_text="OK"> <override id="7f618bbb-4664-419e-9bbf-367d93954cb0"> <nvt oid="1.3.6.1.4.1.25623.1.0.77"> <name>Test NVT: control chars in report result</name> </nvt> <creation_time>Sun Jun 27 08:49:46 2010</creation_time> <modification_time>Sun Jun 27 08:49:46 2010</modification_time> <text>override fixed to result</text> <hosts>127.0.0.1</hosts> <port>general/tcp</port> <threat>Medium</threat> <new_threat>Low</new_threat> <task id="40b236a9-2b0f-4813-b8c7-bc2b98d9d7e4"> <name>test</name> </task> <orphan>0</orphan> <result id="0c95e6b3-1100-4dfd-88f1-4bed1fad29de"/> </override> ... </get_overrides_response> 7.32 Command get_preferencesIn short: Get all preferences. The client uses the get_preferences command to get preference information. If the command sent by the client was valid, the manager will reply with a list of preferences to the client. If the manager cannot access a list of available NVTs at present, it will reply with the 503 response. When the command includes a config_id attribute, the preference element includes the preference name, type and value, and the NVT to which the preference applies. Otherwise, the preference element includes just the name and value, with the NVT and type built into the name. 7.32.1 Structure
7.32.2 RNC
Command
get_preferences = element get_preferences { attribute nvt_oid { oid }? & attribute config_id { uuid }? & attribute preference { text }? } get_preferences_response = element get_preferences_response { attribute status { status } & attribute status_text { text } & get_preferences_response_preference* } get_preferences_response_preference = element preference { get_preferences_response_preference_nvt? & get_preferences_response_preference_name & get_preferences_response_preference_type? & get_preferences_response_preference_value } get_preferences_response_preference_nvt = element nvt { attribute oid { oid } & get_preferences_response_preference_nvt_name } get_preferences_response_preference_nvt_name = element name { name } get_preferences_response_preference_name = element name { name } get_preferences_response_preference_type = element type { text } get_preferences_response_preference_value = element value { text } 7.32.3 Example: Get default preferences for all NVTs
Client
<get_preferences/> <get_preferences_response status="200" status_text="OK"> <preference> <name>Services[entry]:Network connection timeout :</name> <value>5</value> </preference> ... </get_preferences_response> 7.32.3 Example: Get default preferences for a single NVT
Client
<get_preferences nvt_oid="1.3.6.1.4.1.25623.1.0.10330"/> <get_preferences_response status="200" status_text="OK"> <preference> <name>Services[entry]:Network connection timeout :</name> <value>5</value> </preference> ... </get_preferences_response> 7.32.3 Example: Get preferences from a config for all NVTs
Client
<get_preferences config_id="daba56c8-73ec-11df-a475-002264764cea"/> <get_preferences_response status="200" status_text="OK"> <preference> <nvt oid="1.3.6.1.4.1.25623.1.0.10330"> <name>Services</name> </nvt> <name>Network connection timeout :</name> <type>entry</type> <value>5</value> </preference> ... </get_preferences_response> 7.32.3 Example: Get preferences from a config for a single NVT
Client
<get_preferences config_id="daba56c8-73ec-11df-a475-002264764cea" nvt_oid="1.3.6.1.4.1.25623.1.0.10330"/> <get_preferences nvt_oid="1.3.6.1.4.1.25623.1.0.10330"> <preference> <nvt oid="1.3.6.1.4.1.25623.1.0.10330"> <name>Services</name> </nvt> <name>Network connection timeout :</name> <type>entry</type> <value>5</value> </preference> </get_preferences> 7.33 Command get_reportsIn short: Get all reports. The client uses the get_reports command to get report information. The XML report format is sent as XML. All other formats are sent in Base64 encoding. 7.33.1 Structure
7.33.2 RNC
Command
get_reports = element get_reports { attribute report_id { uuid }? & attribute format { text }? & attribute first_result { integer }? & attribute max_results { integer }? & attribute sort_order { sort_order }? & attribute sort_field { text }? & attribute levels { levels }? & attribute search_phrase { text }? & attribute min_cvss_base { integer }? & attribute notes { boolean }? & attribute note_details { boolean }? & attribute overrides { boolean }? & attribute override_details { boolean }? & attribute result_hosts_only { boolean }? } get_reports_response = element get_reports_response { attribute status { status } & attribute status_text { text } & get_reports_response_report* } get_reports_response_report = element report { text # RNC limitation: base64 & attribute id { uuid } & ( get_reports_response_report_sort & get_reports_response_report_filters & get_reports_response_report_scan_run_status & get_reports_response_report_result_count & get_reports_response_report_task & get_reports_response_report_ports & get_reports_response_report_results & get_reports_response_report_scan_start & get_reports_response_report_host_start* & get_reports_response_report_host_end* & get_reports_response_report_scan_end )? } get_reports_response_report_sort = element sort { get_reports_response_report_sort_field } get_reports_response_report_sort_field = element field { text & get_reports_response_report_sort_field_order } get_reports_response_report_sort_field_order = element order { xsd:token { pattern = "ascending|descending" } } get_reports_response_report_filters = element filters { text # RNC limitation: levels & get_reports_response_report_filters_phrase & get_reports_response_report_filters_notes & get_reports_response_report_filters_overrides & get_reports_response_report_filters_apply_overrides & get_reports_response_report_filters_result_hosts_only & get_reports_response_report_filters_min_cvss_base & get_reports_response_report_filters_filter* } get_reports_response_report_filters_phrase = element phrase { text } get_reports_response_report_filters_notes = element notes { xsd:token { pattern = "0|1" } } get_reports_response_report_filters_overrides = element overrides { xsd:token { pattern = "0|1" } } get_reports_response_report_filters_apply_overrides = element apply_overrides { xsd:token { pattern = "0|1" } } get_reports_response_report_filters_result_hosts_only = element result_hosts_only { xsd:token { pattern = "0|1" } } get_reports_response_report_filters_min_cvss_base = element min_cvss_base { text } get_reports_response_report_filters_filter = element filter { xsd:token { pattern = "High|Medium|Low|Log|Debug" } } get_reports_response_report_scan_run_status = element scan_run_status { task_status } get_reports_response_report_result_count = element result_count { text # RNC limitation: integer & get_reports_response_report_result_count_filtered & get_reports_response_report_result_count_debug & get_reports_response_report_result_count_hole & get_reports_response_report_result_count_info & get_reports_response_report_result_count_log & get_reports_response_report_result_count_warning } get_reports_response_report_result_count_filtered = element filtered { integer } get_reports_response_report_result_count_debug = element debug { integer } get_reports_response_report_result_count_hole = element hole { integer } get_reports_response_report_result_count_info = element info { integer } get_reports_response_report_result_count_log = element log { integer } get_reports_response_report_result_count_warning = element warning { integer } get_reports_response_report_task = element task { attribute id { uuid } & get_reports_response_report_task_name } get_reports_response_report_task_name = element name { name } get_reports_response_report_ports = element ports { attribute start { integer } & attribute max { integer } & get_reports_response_report_ports_port* } get_reports_response_report_ports_port = element port { text & get_reports_response_report_ports_port_host & get_reports_response_report_ports_port_threat } get_reports_response_report_ports_port_host = element host { text } get_reports_response_report_ports_port_threat = element threat { threat } get_reports_response_report_results = element results { attribute start { integer } & attribute max { integer } & get_reports_response_report_results_result* } get_reports_response_report_results_result = element result { attribute id { uuid } & get_reports_response_report_results_result_subnet & get_reports_response_report_results_result_host & get_reports_response_report_results_result_port & get_reports_response_report_results_result_nvt & get_reports_response_report_results_result_threat & get_reports_response_report_results_result_description } get_reports_response_report_results_result_subnet = element subnet { text } get_reports_response_report_results_result_host = element host { text } get_reports_response_report_results_result_port = element port { text } get_reports_response_report_results_result_nvt = element nvt { attribute oid { oid } & get_reports_response_report_results_result_nvt_name & get_reports_response_report_results_result_nvt_cvss_base & get_reports_response_report_results_result_nvt_risk_factor } get_reports_response_report_results_result_nvt_name = element name { name } get_reports_response_report_results_result_nvt_cvss_base = element cvss_base { integer } get_reports_response_report_results_result_nvt_risk_factor = element risk_factor { integer } get_reports_response_report_results_result_threat = element threat { threat } get_reports_response_report_results_result_description = element description { text } get_reports_response_report_scan_start = element scan_start { ctime } get_reports_response_report_host_start = element host_start { text # RNC limitation: ctime & get_reports_response_report_host_start_host } get_reports_response_report_host_start_host = element host { text } get_reports_response_report_host_end = element host_end { text # RNC limitation: ctime & get_reports_response_report_host_end_host } get_reports_response_report_host_end_host = element host { text } get_reports_response_report_scan_end = element scan_end { ctime } 7.33.3 Example: Get a report in PDF
Client
<get_reports report_id="267a3405-e84a-47da-97b2-5fa0d2e8995e" format="PDF"/> <get_reports_response status="200" status_text="OK"> <report id="267a3405-e84a-47da-97b2-5fa0d2e8995e">hsisn3qaVFhkjFRG4...</report> </get_reports_response> 7.33.3 Example: Get a report in XML
Client
<get_reports report_id="f0fdf522-276d-4893-9274-fb8699dc2270"/> <get_reports_response status="200" status_text="OK"> <report id="f0fdf522-276d-4893-9274-fb8699dc2270"> <sort> <field> type <order>descending</order> </field> </sort> <filters> hmlgd <phrase/> <notes>0</notes> <overrides>0</overrides> <apply_overrides>0</apply_overrides> <result_hosts_only>1</result_hosts_only> <min_cvss_base/> <filter>High</filter> <filter>Medium</filter> <filter>Low</filter> <filter>Log</filter> <filter>Debug</filter> </filters> <scan_run_status>Done</scan_run_status> <result_count> 10 <filtered>10</filtered> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> <task id="13bb418a-4220-4575-b35b-ec398bff7417"> <name>dik mm</name> </task> <ports start="1" max="-1"> <port> general/tcp <host>127.0.1.1</host> <threat>Medium</threat> </port> ... </ports> <results start="1" max="-1"> <result id="634f7a2e-8ca1-43b7-b6d7-0d4841449508"> <subnet>127.0.1.1</subnet> <host>127.0.1.1</host> <port>general/tcp</port> <nvt oid="1.3.6.1.4.1.25623.1.0.74"> <name>Test NVT: fields with ISO-8859-1 chars ()</name> <cvss_base>5.0</cvss_base> <risk_factor>Medium</risk_factor> </nvt> <threat>Medium</threat> <description>Test with umlaut Warning Port 0.</description> </result> ... </results> <scan_start>Mon Feb 1 19:11:21 2010</scan_start> <host_start> Mon Feb 1 19:11:21 2010 <host>127.0.1.1</host> </host_start> <host_end> Mon Feb 1 19:11:52 2010 <host>127.0.1.1</host> </host_end> <scan_end>Mon Feb 1 19:11:52 2010</scan_end> </report> </get_reports_response> 7.34 Command get_resultsIn short: Get results. The client uses the get_results command to get result information. If the request includes a notes flag, an overrides flag or an apply_overrides flag and any of these is true, then the request must also include a task ID. 7.34.1 Structure
7.34.2 RNC
Command
get_results = element get_results { attribute result_id { uuid }? & attribute task_id { uuid }? & attribute notes { boolean }? & attribute note_details { boolean }? & attribute overrides { boolean }? & attribute override_details { boolean }? & attribute apply_overrides { boolean }? } get_results_response = element get_results_response { attribute status { status } & attribute status_text { text } & get_results_response_results } get_results_response_results = element results { get_results_response_results_result* } get_results_response_results_result = element result { attribute id { uuid } & get_results_response_results_result_subnet & get_results_response_results_result_host & get_results_response_results_result_port & get_results_response_results_result_nvt & get_results_response_results_result_threat & get_results_response_results_result_description & get_results_response_results_result_notes? & get_results_response_results_result_overrides? } get_results_response_results_result_subnet = element subnet { text } get_results_response_results_result_host = element host { text } get_results_response_results_result_port = element port { text } get_results_response_results_result_nvt = element nvt { attribute oid { oid } & get_results_response_results_result_nvt_name & get_results_response_results_result_nvt_cvss_base & get_results_response_results_result_nvt_risk_factor } get_results_response_results_result_nvt_name = element name { name } get_results_response_results_result_nvt_cvss_base = element cvss_base { integer } get_results_response_results_result_nvt_risk_factor = element risk_factor { integer } get_results_response_results_result_threat = element threat { threat } get_results_response_results_result_description = element description { text } get_results_response_results_result_notes = element notes { get_results_response_results_result_notes_note* } get_results_response_results_result_notes_note = element note { get_results_response_results_result_notes_note_nvt & get_results_response_results_result_notes_note_text & get_results_response_results_result_notes_note_orphan } get_results_response_results_result_notes_note_nvt = element nvt { attribute oid { oid } & get_results_response_results_result_notes_note_nvt_name } get_results_response_results_result_notes_note_nvt_name = element name { name } get_results_response_results_result_notes_note_text = element text { text & attribute excerpt { boolean } } get_results_response_results_result_notes_note_orphan = element orphan { boolean } get_results_response_results_result_overrides = element overrides { get_results_response_results_result_overrides_override* } get_results_response_results_result_overrides_override = element override { get_results_response_results_result_overrides_override_nvt & get_results_response_results_result_overrides_override_text & get_results_response_results_result_overrides_override_threat & get_results_response_results_result_overrides_override_new_threat & get_results_response_results_result_overrides_override_orphan } get_results_response_results_result_overrides_override_nvt = element nvt { attribute oid { oid } & get_results_response_results_result_overrides_override_nvt_name } get_results_response_results_result_overrides_override_nvt_name = element name { name } get_results_response_results_result_overrides_override_text = element text { text & attribute excerpt { boolean } } get_results_response_results_result_overrides_override_threat = element threat { threat } get_results_response_results_result_overrides_override_new_threat = element new_threat { threat } get_results_response_results_result_overrides_override_orphan = element orphan { boolean } 7.34.3 Example: Get all results
Client
<get_results/> <get_results_response status="200" status_text="OK"> <results> <result id="634f7a2e-8ca1-43b7-b6d7-0d4841449508"> <subnet>127.0.1.1</subnet> <host>127.0.1.1</host> <port>general/tcp</port> <nvt oid="1.3.6.1.4.1.25623.1.0.74"> <name>Test NVT: fields with ISO-8859-1 chars</name> <cvss_base>5.0</cvss_base> <risk_factor>Medium</risk_factor> </nvt> <threat>Medium</threat> <description>Test with umlaut.</description> </result> ... </results> </get_results_response> 7.34.3 Example: Get a result, including notes and overrides
Client
<get_results result_id="cac9e7c8-c726-49fd-a710-5f99079ab93e" task_id="40b236a9-2b0f-4813-b8c7-bc2b98d9d7e4" notes="1" overrides="1"/> <get_results_response status="200" status_text="OK"> <results> <result id="cac9e7c8-c726-49fd-a710-5f99079ab93e"> <subnet>127.0.0.1</subnet> <host>127.0.0.1</host> <port>general/tcp</port> <nvt oid="1.3.6.1.4.1.25623.1.0.75"> <name>Test NVT: long lines</name> <cvss_base>9</cvss_base> <risk_factor>High</risk_factor> </nvt> <threat>High</threat> <description>Test with very long warning.</description> <original_threat>Medium</original_threat> <notes/> <overrides> <override id="b0832812-75f1-45eb-b676-99c6e6bf2b24"> <nvt oid="1.3.6.1.4.1.25623.1.0.75"> <name>Test NVT: long lines</name> </nvt> <text excerpt="0">Test override</text> <new_threat>High</new_threat> <orphan>0</orphan> </override> </overrides> </result> </results> </get_results_response> 7.35 Command get_schedulesIn short: Get all schedules. The client uses the get_schedules command to get schedule information. 7.35.1 Structure
7.35.2 RNC
Command
get_schedules = element get_schedules { attribute schedule_id { uuid }? & attribute details { boolean }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_schedules_response = element get_schedules_response { attribute status { status } & attribute status_text { text } & get_schedules_response_schedule } get_schedules_response_schedule = element schedule { attribute id { uuid } & get_schedules_response_schedule_name & ( get_schedules_response_schedule_comment & get_schedules_response_schedule_first_time & get_schedules_response_schedule_next_time & get_schedules_response_schedule_period & get_schedules_response_schedule_period_months & get_schedules_response_schedule_duration & get_schedules_response_schedule_in_use & get_schedules_response_schedule_tasks )? } get_schedules_response_schedule_name = element name { name } get_schedules_response_schedule_comment = element comment { text } get_schedules_response_schedule_first_time = element first_time { ctime } get_schedules_response_schedule_next_time = element next_time { ctime } get_schedules_response_schedule_period = element period { integer } get_schedules_response_schedule_period_months = element period_months { integer } get_schedules_response_schedule_duration = element duration { integer } get_schedules_response_schedule_in_use = element in_use { boolean } get_schedules_response_schedule_tasks = element tasks { get_schedules_response_schedule_tasks_task* } get_schedules_response_schedule_tasks_task = element task { attribute id { uuid } & get_schedules_response_schedule_tasks_task_name } get_schedules_response_schedule_tasks_task_name = element name { name } 7.35.3 Example: Get all schedules
Client
<get_schedules/> <get_schedules_response status="200" status_text="OK"> <schedule id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"> <name>Overnight</name> </schedule> ... </get_schedules_response> 7.35.3 Example: Get full details of a single schedule
Client
<get_schedules schedule_id="c33864a9-d3fd-44b3-8717-972bfb01dfcf" details="1"/> <get_schedules_response status="200" status_text="OK"> <schedule id="c33864a9-d3fd-44b3-8717-972bfb01dfcf"> <name>Overnight</name> <comment>3 hours, starting at 12h00.</comment> <first_time>Tue Jun 29 00:00:00 2010</first_time> <next_time>Tue Jun 29 00:00:00 2010</next_time> <period>86400</period> <period_months>0</period_months> <duration>10800</duration> <in_use>1</in_use> <tasks> <task id="d4daf4c4-25c7-40ac-87d3-38e489f34330"> <name>kk</name> </task> </tasks> </schedule> </get_schedules_response> 7.36 Command get_system_reportsIn short: Get all system reports. The client uses the get_system_reports command to get system reports. 7.36.1 Structure
7.36.2 RNC
Command
get_system_reports = element get_system_reports { attribute name { text }? & attribute duration { integer }? & attribute brief { boolean }? } get_system_reports_response = element get_system_reports_response { attribute status { status } & attribute status_text { text } & get_system_reports_response_system_report* } get_system_reports_response_system_report = element system_report { get_system_reports_response_system_report_name & get_system_reports_response_system_report_title & get_system_reports_response_system_report_report? } get_system_reports_response_system_report_name = element name { name } get_system_reports_response_system_report_title = element title { text } get_system_reports_response_system_report_report = element report { text # RNC limitation: base64 & attribute format { "png" } & attribute duration { integer } } 7.36.3 Example: Get listing of available system reports
Client
<get_system_reports brief="1"/> <get_system_reports_response status="200" status_text="OK"> <system_report> <name>proc</name> <title>Processes</title> </system_report> <system_report> <name>load</name> <title>System Load</title> </system_report> <system_report> <name>cpu_0</name> <title>CPU Usage: CPU 0</title> </system_report> ... </get_system_reports_response> 7.36.3 Example: Get a system report
Client
<get_system_reports name="proc"/> <get_system_reports_response status="200" status_text="OK"> <system_report> <name>proc</name> <title>Processes</title> <report format="png" duration="86400"> iVBORw0KGgoAAAANSUhEUgAAArkAAAE...2bEdAAAAAElFTkSuQmCC </report> </system_report> </get_system_reports_response> 7.37 Command get_target_locatorsIn short: Get configured target locators. The client uses the get_target_locators command to get target locators. 7.37.1 Structure
7.37.2 RNC
Command
get_target_locators = element get_target_locators { "" } get_target_locators_response = element get_target_locators_response { attribute status { status } & attribute status_text { text } & get_target_locators_response_target_locator* } get_target_locators_response_target_locator = element target_locator { get_target_locators_response_target_locator_name } get_target_locators_response_target_locator_name = element name { name } 7.37.3 Example: Get target locators
Client
<get_target_locators/> <get_target_locators_response status="200" status_text="OK"> <target_locator> <name>ldap</name> </target_locator> ... </get_target_locators_response> 7.38 Command get_targetsIn short: Get all targets. The client uses the get_targets command to get target information. 7.38.1 Structure
7.38.2 RNC
Command
get_targets = element get_targets { attribute target_id { uuid }? & attribute tasks { boolean }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_targets_response = element get_targets_response { attribute status { status } & attribute status_text { text } & get_targets_response_target* } get_targets_response_target = element target { get_targets_response_target_name & get_targets_response_target_comment & get_targets_response_target_hosts & get_targets_response_target_max_hosts & get_targets_response_target_in_use & get_targets_response_target_lsc_credential & get_targets_response_target_tasks? } get_targets_response_target_name = element name { name } get_targets_response_target_comment = element comment { text } get_targets_response_target_hosts = element hosts { text } get_targets_response_target_max_hosts = element max_hosts { integer } get_targets_response_target_in_use = element in_use { boolean } get_targets_response_target_lsc_credential = element lsc_credential { attribute id { uuid_or_empty } & get_targets_response_target_lsc_credential_name } get_targets_response_target_lsc_credential_name = element name { name } get_targets_response_target_tasks = element tasks { get_targets_response_target_tasks_task* } get_targets_response_target_tasks_task = element task { attribute id { uuid } & get_targets_response_target_tasks_task_name } get_targets_response_target_tasks_task_name = element name { name } 7.38.3 Example: Get all targets
Client
<get_targets/> <get_targets_response status="200" status_text="OK"> <target id="b493b7a8-7489-11df-a3ec-002264764cea"> <name>Localhost</name> <hosts>localhost</hosts> <max_hosts>1</max_hosts> <comment/> <in_use>7</in_use> <lsc_credential id=""> <name/> </lsc_credential> </target> ... </get_targets_response> 7.38.3 Example: Get a single target, including tasks using the target
Client
<get_targets target_id="c33864a9-d3fd-44b3-8717-972bfb01dfcf" tasks="1"/> <get_targets_response status="200" status_text="OK"> <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9"> <name>dik</name> <hosts>dik.example.org</hosts> <max_hosts>1</max_hosts> <comment>dik mm</comment> <in_use>4</in_use> <lsc_credential id="58ff2793-2dc7-43fe-85f9-20bfac5a87e4"> <name>mm</name> </lsc_credential> <tasks> <task id="13bb418a-4220-4575-b35b-ec398bff7417"> <name>dik mm</name> </task> ... </tasks> </target> </get_targets_response> 7.39 Command get_tasksIn short: Get all tasks. The client uses the get_tasks command to get task information. As a convenience for clients the response includes a task count and the values of the sort order, sort field and apply overrides flag that the manager applied when selecting the tasks. 7.39.1 Structure
7.39.2 RNC
Command
get_tasks = element get_tasks { attribute task_id { uuid }? & attribute details { boolean }? & attribute rcfile { boolean }? & attribute apply_overrides { boolean }? & attribute sort_order { sort_order }? & attribute sort_field { text }? } get_tasks_response = element get_tasks_response { attribute status { status } & attribute status_text { text } & get_tasks_response_task_count & get_tasks_response_sort & get_tasks_response_apply_overrides & get_tasks_response_task* } get_tasks_response_task_count = element task_count { integer } get_tasks_response_sort = element sort { get_tasks_response_sort_field* } get_tasks_response_sort_field = element field { text & get_tasks_response_sort_field_order } get_tasks_response_sort_field_order = element order { xsd:token { pattern = "ascending|descending" } } get_tasks_response_apply_overrides = element apply_overrides { xsd:token { pattern = "0|1" } } get_tasks_response_task = element task { get_tasks_response_task_name & get_tasks_response_task_comment & get_tasks_response_task_status & get_tasks_response_task_progress & get_tasks_response_task_config & get_tasks_response_task_target & get_tasks_response_task_escalator & get_tasks_response_task_schedule & get_tasks_response_task_result_count & get_tasks_response_task_report_count & get_tasks_response_task_trend & get_tasks_response_task_first_report? & get_tasks_response_task_last_report? & get_tasks_response_task_second_last_report? & get_tasks_response_task_rcfile? & get_tasks_response_task_reports* } get_tasks_response_task_name = element name { name } get_tasks_response_task_comment = element comment { text } get_tasks_response_task_status = element status { task_status } get_tasks_response_task_progress = element progress { text # RNC limitation: integer & get_tasks_response_task_progress_host_progress* } get_tasks_response_task_progress_host_progress = element host_progress { text # RNC limitation: integer & get_tasks_response_task_progress_host_progress_host } get_tasks_response_task_progress_host_progress_host = element host { text } get_tasks_response_task_config = element config { attribute id { uuid } & get_tasks_response_task_config_name } get_tasks_response_task_config_name = element name { name } get_tasks_response_task_target = element target { attribute id { uuid } & get_tasks_response_task_target_name } get_tasks_response_task_target_name = element name { name } get_tasks_response_task_escalator = element escalator { attribute id { uuid_or_empty } & get_tasks_response_task_escalator_name } get_tasks_response_task_escalator_name = element name { name } get_tasks_response_task_schedule = element schedule { attribute id { uuid_or_empty } & get_tasks_response_task_schedule_name } get_tasks_response_task_schedule_name = element name { name } get_tasks_response_task_result_count = element result_count { get_tasks_response_task_result_count_debug & get_tasks_response_task_result_count_log & get_tasks_response_task_result_count_info & get_tasks_response_task_result_count_warning & get_tasks_response_task_result_count_hole } get_tasks_response_task_result_count_debug = element debug { integer } get_tasks_response_task_result_count_log = element log { integer } get_tasks_response_task_result_count_info = element info { integer } get_tasks_response_task_result_count_warning = element warning { integer } get_tasks_response_task_result_count_hole = element hole { integer } get_tasks_response_task_report_count = element report_count { text # RNC limitation: integer & get_tasks_response_task_report_count_finished } get_tasks_response_task_report_count_finished = element finished { integer } get_tasks_response_task_trend = element trend { task_trend } get_tasks_response_task_first_report = element first_report { get_tasks_response_task_first_report_report } get_tasks_response_task_first_report_report = element report { attribute id { uuid } & get_tasks_response_task_first_report_report_timestamp & get_tasks_response_task_first_report_report_result_count } get_tasks_response_task_first_report_report_timestamp = element timestamp { ctime } get_tasks_response_task_first_report_report_result_count = element result_count { get_tasks_response_task_first_report_report_result_count_debug & get_tasks_response_task_first_report_report_result_count_log & get_tasks_response_task_first_report_report_result_count_info & get_tasks_response_task_first_report_report_result_count_warning & get_tasks_response_task_first_report_report_result_count_hole } get_tasks_response_task_first_report_report_result_count_debug = element debug { integer } get_tasks_response_task_first_report_report_result_count_log = element log { integer } get_tasks_response_task_first_report_report_result_count_info = element info { integer } get_tasks_response_task_first_report_report_result_count_warning = element warning { integer } get_tasks_response_task_first_report_report_result_count_hole = element hole { integer } get_tasks_response_task_last_report = element last_report { get_tasks_response_task_last_report_report } get_tasks_response_task_last_report_report = element report { attribute id { uuid } & get_tasks_response_task_last_report_report_timestamp & get_tasks_response_task_last_report_report_result_count } get_tasks_response_task_last_report_report_timestamp = element timestamp { ctime } get_tasks_response_task_last_report_report_result_count = element result_count { get_tasks_response_task_last_report_report_result_count_debug & get_tasks_response_task_last_report_report_result_count_log & get_tasks_response_task_last_report_report_result_count_info & get_tasks_response_task_last_report_report_result_count_warning & get_tasks_response_task_last_report_report_result_count_hole } get_tasks_response_task_last_report_report_result_count_debug = element debug { integer } get_tasks_response_task_last_report_report_result_count_log = element log { integer } get_tasks_response_task_last_report_report_result_count_info = element info { integer } get_tasks_response_task_last_report_report_result_count_warning = element warning { integer } get_tasks_response_task_last_report_report_result_count_hole = element hole { integer } get_tasks_response_task_second_last_report = element second_last_report { get_tasks_response_task_second_last_report_report } get_tasks_response_task_second_last_report_report = element report { attribute id { uuid } & get_tasks_response_task_second_last_report_report_timestamp & get_tasks_response_task_second_last_report_report_result_count } get_tasks_response_task_second_last_report_report_timestamp = element timestamp { ctime } get_tasks_response_task_second_last_report_report_result_count = element result_count { get_tasks_response_task_second_last_report_report_result_count_debug & get_tasks_response_task_second_last_report_report_result_count_log & get_tasks_response_task_second_last_report_report_result_count_info & get_tasks_response_task_second_last_report_report_result_count_warning & get_tasks_response_task_second_last_report_report_result_count_hole } get_tasks_response_task_second_last_report_report_result_count_debug = element debug { integer } get_tasks_response_task_second_last_report_report_result_count_log = element log { integer } get_tasks_response_task_second_last_report_report_result_count_info = element info { integer } get_tasks_response_task_second_last_report_report_result_count_warning = element warning { integer } get_tasks_response_task_second_last_report_report_result_count_hole = element hole { integer } get_tasks_response_task_rcfile = element rcfile { base64 } get_tasks_response_task_reports = element reports { get_tasks_response_task_reports_report* } get_tasks_response_task_reports_report = element report { attribute id { uuid } & get_tasks_response_task_reports_report_timestamp & get_tasks_response_task_reports_report_scan_run_status & get_tasks_response_task_reports_report_result_count } get_tasks_response_task_reports_report_timestamp = element timestamp { ctime } get_tasks_response_task_reports_report_scan_run_status = element scan_run_status { task_status } get_tasks_response_task_reports_report_result_count = element result_count { get_tasks_response_task_reports_report_result_count_debug & get_tasks_response_task_reports_report_result_count_log & get_tasks_response_task_reports_report_result_count_info & get_tasks_response_task_reports_report_result_count_warning & get_tasks_response_task_reports_report_result_count_hole } get_tasks_response_task_reports_report_result_count_debug = element debug { integer } get_tasks_response_task_reports_report_result_count_log = element log { integer } get_tasks_response_task_reports_report_result_count_info = element info { integer } get_tasks_response_task_reports_report_result_count_warning = element warning { integer } get_tasks_response_task_reports_report_result_count_hole = element hole { integer } 7.39.3 Example: Get all tasks
Client
<get_tasks/> <get_tasks_response status="200" status_text="OK"> <task_count>2</task_count> <sort> <field> ROWID <order>ascending</order> </field> </sort> <apply_overrides>0</apply_overrides> <task id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <name>Scan Webserver</name> <comment>Scan of the web server.</comment> <status>Done</status> <progress>-1</progress> <config id="daba56c8-73ec-11df-a475-002264764cea"> <name>Full and fast</name> </config> <escalator id=""> <name/> </escalator> <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9"> <name>dik</name> </target> <schedule id=""> <name/> <next_time>over</next_time> </schedule> <result_count> <debug>0</debug> <log>0</log> <info>14</info> <warning>0</warning> <hole>6</hole> </result_count> <report_count> 2 <finished>2</finished> </report_count> <trend/> <first_report> <report id="f0fdf522-276d-4893-9274-fb8699dc2270"> <timestamp>Mon Feb 1 19:11:20 2010</timestamp> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> </first_report> <last_report> <report id="f0fdf522-276d-4893-9274-fb8699dc2270"> <timestamp>Mon Feb 1 19:11:20 2010</timestamp> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> </last_report> <second_last_report> <report id="f0fdf522-276d-4893-9274-fb8699dc2270"> <timestamp>Mon Feb 1 19:11:20 2010</timestamp> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> </second_last_report> </task> <task id="f14747d3-a4d7-4e79-99bb-a0a1276cb78c"> <name>Scan Mailserver</name> ... </task> </get_tasks_response> 7.39.3 Example: Get a single task, including all reports
Client
<get_tasks task_id="f14747d3-a4d7-4e79-99bb-a0a1276cb78c" details="1"/> <get_tasks_response status="200" status_text="OK"> <task_count>1</task_count> <sort> <field> ROWID <order>ascending</order> </field> </sort> <apply_overrides>0</apply_overrides> <task id="13bb418a-4220-4575-b35b-ec398bff7417"> <name>Scan Mailserver</name> <comment>Scan of the web server.</comment> <status>Done</status> <progress>-1</progress> <config id="daba56c8-73ec-11df-a475-002264764cea"> <name>Full and fast</name> </config> <escalator id=""> <name/> </escalator> <target id="1f28d970-17ef-4c69-ba8a-13827059f2b9"> <name>dik</name> </target> <schedule id=""> <name/> <next_time>over</next_time> </schedule> <result_count> <debug>0</debug> <log>0</log> <info>14</info> <warning>0</warning> <hole>6</hole> </result_count> <report_count> 2 <finished>2</finished> </report_count> <trend/> <first_report> <report id="f0fdf522-276d-4893-9274-fb8699dc2270"> <timestamp>Mon Feb 1 19:11:20 2010</timestamp> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> </first_report> <last_report> <report id="2688e6c7-db29-4505-80f1-0fd4a09e1011"> <timestamp>Mon Feb 1 19:11:20 2010</timestamp> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> </last_report> <second_last_report> <report id="f0fdf522-276d-4893-9274-fb8699dc2270"> <timestamp>Mon Feb 1 19:11:20 2010</timestamp> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> </second_last_report> <reports> <report id="f0fdf522-276d-4893-9274-fb8699dc2270"> <timestamp>Mon Feb 1 18:51:38 2010</timestamp> <scan_run_status>Done</scan_run_status> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> <report id="2688e6c7-db29-4505-80f1-0fd4a09e1011"> <timestamp>Mon Feb 1 19:11:20 2010</timestamp> <scan_run_status>Done</scan_run_status> <result_count> <debug>0</debug> <hole>0</hole> <info>7</info> <log>0</log> <warning>3</warning> </result_count> </report> </reports> </task> </get_tasks_response> 7.40 Command get_versionIn short: Get the OpenVAS Manager Protocol version. 7.40.1 Structure
7.40.2 RNC
Command
get_version = element get_version { "" } get_version_response = element get_version_response { attribute status { status } & attribute status_text { text } & get_version_response_version } get_version_response_version = element version { text } 7.40.3 Example: Get the version
Client
<get_version/> <get_version_response status="200" status_text="OK"> <version>1.0</version> </get_version_response> 7.41 Command helpIn short: Get the help text. 7.41.1 Structure
7.41.2 RNC
Command
help = element help { attribute format { xsd:token { pattern = "html|HTML|rnc|RNC|text|TEXT|xml|XML" } }? } help_response = element help_response { text & attribute status { status } & attribute status_text { text } & help_response_schema? } help_response_schema = element schema { help_response_schema_protocol } help_response_schema_protocol = element protocol { help_response_schema_protocol_name & help_response_schema_protocol_abbreviation? & help_response_schema_protocol_summary? & help_response_schema_protocol_version? & help_response_schema_protocol_type* & help_response_schema_protocol_command* } help_response_schema_protocol_name = element name { text } help_response_schema_protocol_abbreviation = element abbreviation { text } help_response_schema_protocol_summary = element summary { text } help_response_schema_protocol_version = element version { text } help_response_schema_protocol_type = element type { help_response_schema_protocol_type_name & help_response_schema_protocol_type_summary? & help_response_schema_protocol_type_description? & help_response_schema_protocol_type_pattern } help_response_schema_protocol_type_name = element name { type_name } help_response_schema_protocol_type_summary = element summary { text } help_response_schema_protocol_type_description = element description { text & help_response_schema_protocol_type_description_p* } help_response_schema_protocol_type_description_p = element p { text } help_response_schema_protocol_type_pattern = element pattern { text } help_response_schema_protocol_command = element command # type command_definition { command_definition_name & command_definition_summary? & command_definition_description? & ( ( command_definition_pattern & command_definition_response ) | ( command_definition_type & command_definition_ele* ) ) & command_definition_example* } 7.41.3 Example: Get the help text
Client
<help/> <help_response status="200" status_text="OK"> AUTHENTICATE Authenticate with the manager. COMMANDS Run a list of commands. CREATE_AGENT Create an agent. CREATE_CONFIG Create a config. CREATE_ESCALATOR Create an escalator. CREATE_LSC_CREDENTIAL Create a local security check credential. CREATE_NOTE Create a note. CREATE_OVERRIDE Create an override. CREATE_SCHEDULE Create a schedule. CREATE_TARGET Create a target. CREATE_TASK Create a task. DELETE_AGENT Delete an agent. DELETE_CONFIG Delete a config. DELETE_ESCALATOR Delete an escalator. DELETE_LSC_CREDENTIAL Delete a local security check credential. DELETE_NOTE Delete a note. DELETE_OVERRIDE Delete an override. DELETE_REPORT Delete a report. DELETE_SCHEDULE Delete a schedule. DELETE_TARGET Delete a target. DELETE_TASK Delete a task. GET_AGENTS Get all agents. GET_CONFIGS Get all configs. GET_DEPENDENCIES Get dependencies for all available NVTs. GET_ESCALATORS Get all escalators. GET_LSC_CREDENTIALS Get all local security check credentials. GET_NOTES Get all notes. GET_NVTS Get one or all available NVTs. GET_NVT_FAMILIES Get a list of all NVT families. GET_NVT_FEED_CHECKSUM Get checksum for entire NVT collection. GET_OVERRIDES Get all overrides. GET_PREFERENCES Get preferences for all available NVTs. GET_REPORTS Get all reports. GET_RESULTS Get results. GET_SCHEDULES Get all schedules. GET_SYSTEM_REPORTS Get all system reports. GET_TARGET_LOCATORS Get configured target locators. GET_TARGETS Get all targets. GET_TASKS Get all tasks. GET_VERSION Get the OpenVAS Manager Protocol version. HELP Get this help text. MODIFY_CONFIG Update an existing config. MODIFY_NOTE Modify an existing note. MODIFY_OVERRIDE Modify an existing override. MODIFY_REPORT Modify an existing report. MODIFY_TASK Update an existing task. PAUSE_TASK Pause a running task. RESUME_OR_START_TASK Resume task if stopped, else start task. RESUME_PAUSED_TASK Resume a paused task. RESUME_STOPPED_TASK Resume a stopped task. START_TASK Manually start an existing task. STOP_TASK Stop a running task. TEST_ESCALATOR Run an escalator. </help_response> 7.41.3 Example: Get the OMP schema
Client
<help format="XML"/> <help_response status="200" status_text="OK"> <schema format="XML" extension="xml" content_type="text/xml"> <protocol> <name>OpenVAS Management Protocol</name> <abbreviation>OMP</abbreviation> <summary> The "management" protocol of the Open Vulnerability Assessment System </summary> <version>1.0</version> <type> <name>base64</name> <summary>Base64 encoded data</summary> <pattern>xsd:base64Binary</pattern> </type> ... <command> <name>authenticate</name> <summary>Authenticate with the manager</summary> <description> <p> The client uses the authenticate command to authenticate with the Manager. </p> <p> The client normally executes this command at the beginning of each connection. The only commands permitted before authentication are get_version and commands. </p> </description> <pattern> <e>credentials</e> </pattern> <ele> <name>credentials</name> <pattern> <e>username</e> <e>password</e> </pattern> <ele> <name>username</name> <summary>The login name of the user</summary> <pattern>text</pattern> </ele> <ele> <name>password</name> <summary>The user's password</summary> <pattern>text</pattern> </ele> </ele> <response> <pattern> <attrib> <name>status</name> <type>status</type> <required>1</required> </attrib> <attrib> <name>status_text</name> <type>text</type> <required>1</required> </attrib> </pattern> </response> <example> <summary>Authenticate with a good password</summary> <request> <authenticate> <credentials> <username>sally</username> <password>secret</password> </credentials> </authenticate> </request> <response> <authenticate_response status="200" status_text="OK"/> </response> </example> ... </command> ... </protocol> </schema> </help_response> 7.42 Command modify_configIn short: Update an existing config. This command can take three forms: with a preference, with a family selection or with an NVT selection. The first form modifies a preference on the config. If the preference includes an NVT, then the preference is an NVT preference, otherwise the preference is a scanner preference. If the preference includes a value then the manager updates the value of the preference, otherwise the manager removes the preference. The second form, with a family selection, lets the client modify the NVTs selected by the config at a family level. The idea is that the client modifies the entire family selection at once, so a client will often need to include many families in a family selection. The family_selection may include a growing element to indicate whether new families should be added to the selection. It may also include any number of family elements. A family element must always include a name and may include a growing element and an all element. The all element indicates whether all NVTs in the family should be selected. The growing element indicates whether new NVTs in the family should be added to the selection as they arrive. Leaving a family out of the family_selection is equivalent to including the family with all 0 and growing 0. The effect of the all 0 and growing 0 case is subtle: if all NVTs were selected then all are removed (effectively removing the family from the config). However if some NVTs were selected then they remain selected. As a result the client must include in the family_selection all families that must have all NVTs selected. The third option, an NVT selection, must include a family and may include any number of NVTs. The manager updates the given family in the config to include only the given NVTs. If there was no error with the command sent by the client, the manager will apply the changes to the config and will reply with a response code indicating success. 7.42.1 Structure
7.42.2 RNC
Command
modify_config = element modify_config { attribute config_id { uuid } & ( modify_config_preference | modify_config_family_selection | modify_config_nvt_selection ) } modify_config_preference = element preference { modify_config_preference_name & modify_config_preference_nvt? & modify_config_preference_value? } modify_config_preference_name = element name { name } modify_config_preference_nvt = element nvt { attribute oid { oid } } modify_config_preference_value = element value { base64 } modify_config_family_selection = element family_selection { modify_config_family_selection_growing? & modify_config_family_selection_family* } modify_config_family_selection_growing = element growing { boolean_atoi } modify_config_family_selection_family = element family { modify_config_family_selection_family_all? & modify_config_family_selection_family_growing? & modify_config_family_selection_family_name } modify_config_family_selection_family_all = element all { boolean_atoi } modify_config_family_selection_family_growing = element growing { boolean_atoi } modify_config_family_selection_family_name = element name { name } modify_config_nvt_selection = element nvt_selection { modify_config_nvt_selection_family & modify_config_nvt_selection_nvt* } modify_config_nvt_selection_family = element family { name } modify_config_nvt_selection_nvt = element nvt { attribute oid { oid } } modify_config_response = element modify_config_response { attribute status { status } & attribute status_text { text } } 7.42.3 Example: Modify a config preference
Client
<modify_config config_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <preference> <nvt oid="1.3.6.1.4.1.25623.1.0.14259"/> <name>Nmap (NASL wrapper)[checkbox]:UDP port scan</name> <value>eWVz</value> </preference> </modify_config> <modify_config_response status="200" status_text="OK"/> 7.42.3 Example: Modify the families that a config selectsThe outer "growing" element sets the config to add any new families that arrive. The client requests the Manager to keep a single selected family (Debian Local Security Checks), to select all NVTs in this family, and to automatically add any new NVTs in this family to the config.
Client
<modify_config config_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <family_selection> <growing>1</growing> <family> <name>Debian Local Security Checks</name> <all>1</all> <growing>1</growing> </family> </family_selection> </modify_config> <modify_config_response status="200" status_text="OK"/> 7.42.3 Example: Modify the NVTs that a config selects in a particular family
Client
<modify_config config_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <nvt_selection> <family>Debian Local Security Checks</family> <nvt oid="1.3.6.1.4.1.25623.1.0.53797"/> <nvt oid="1.3.6.1.4.1.25623.1.0.63272"/> <nvt oid="1.3.6.1.4.1.25623.1.0.55615"/> <nvt oid="1.3.6.1.4.1.25623.1.0.53546"/> </nvt_selection> </modify_config> <modify_config_response status="200" status_text="OK"/> 7.43 Command modify_noteIn short: Modify an existing note. The client uses the modify_note command to change an existing note. If an optional element is left out, the existing value will be cleared, generalising that constraint. 7.43.1 Structure
7.43.2 RNC
Command
modify_note = element modify_note { attribute note_id { uuid } & modify_note_hosts? & modify_note_port? & modify_note_result? & modify_note_task? & modify_note_text & modify_note_threat? } modify_note_hosts = element hosts { text } modify_note_port = element port { text } modify_note_text = element text { text } modify_note_threat = element threat { threat } modify_note_task = element task { attribute id { uuid } } modify_note_result = element result { attribute id { uuid } } modify_note_response = element modify_note_response { attribute status { status } & attribute status_text { text } } 7.43.3 Example: Modify the text and result of a note
Client
<modify_note note_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <text>This issue should be resolved after the upgrade.</text> <result result_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c"/> </modify_note> <modify_note_response status="200" status_text="OK"/> 7.44 Command modify_overrideIn short: Modify an existing override. The client uses the modify_override command to change an existing override. If an optional element is left out, the existing value will be cleared, generalising that constraint. 7.44.1 Structure
7.44.2 RNC
Command
modify_override = element modify_override { attribute override_id { uuid } & modify_override_hosts? & modify_override_new_threat? & modify_override_port? & modify_override_result? & modify_override_task? & modify_override_text & modify_override_threat? } modify_override_hosts = element hosts { text } modify_override_new_threat = element new_threat { threat } modify_override_port = element port { text } modify_override_text = element text { text } modify_override_threat = element threat { threat } modify_override_task = element task { attribute id { uuid } } modify_override_result = element result { attribute id { uuid } } modify_override_response = element modify_override_response { attribute status { status } & attribute status_text { text } } 7.44.3 Example: Set the override threat to Low
Client
<modify_override override_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <text>This issue is less important in our setup.</text> <new_threat>Low</new_threat> </modify_override> <modify_override_response status="200" status_text="OK"/> 7.45 Command modify_reportIn short: Modify an existing report. The client uses the modify_report command to change an existing report. 7.45.1 Structure
7.45.2 RNC
Command
modify_report = element modify_report { attribute report_id { uuid } & modify_report_comment } modify_report_comment = element comment { text } modify_report_response = element modify_report_response { attribute status { status } & attribute status_text { text } } 7.45.3 Example: Modify a report comment
Client
<modify_report report_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <comment>Monthly scan of the webserver.</comment> </modify_report> <modify_report_response status="200" status_text="OK"/> 7.46 Command modify_taskIn short: Modify an existing task. The client uses the modify_task command to change an existing task. 7.46.1 Structure7.46.2 RNC
Command
modify_task = element modify_task { attribute task_id { uuid } & ( modify_task_comment | modify_task_escalator | modify_task_name | modify_task_rcfile | modify_task_schedule | modify_task_file ) } modify_task_comment = element comment { text } modify_task_escalator = element escalator { attribute id { uuid } } modify_task_name = element name { name } modify_task_rcfile = element rcfile { base64 } modify_task_schedule = element schedule { attribute id { uuid } } modify_task_file = element file { text # RNC limitation: base64 & attribute name { text } & attribute action { xsd:token { pattern = "update|remove" } } } modify_task_response = element modify_task_response { attribute status { status } & attribute status_text { text } } 7.46.3 Example: Modify a task comment
Client
<modify_task task_id="254cd3ef-bbe1-4d58-859d-21b8d0c046c6"> <comment>Monthly scan of the webserver.</comment> </modify_task> <modify_task_response status="200" status_text="OK"/> 7.47 Command pause_taskIn short: Pause a running task. The client uses the pause_task command to manually pause a running task. 7.47.1 Structure7.47.2 RNC
Command
pause_task = element pause_task { attribute task_id { uuid } } pause_task_response = element pause_task_response { attribute status { status } & attribute status_text { text } } 7.47.3 Example: Pause a running task
Client
<pause_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <pause_task_response status="200" status_text="OK"/> 7.48 Command resume_or_start_taskIn short: Resume task if stopped, else start task. The client uses the resume_or_start_task command to manually start an existing task, ensuring that the task will resume from its previous position if the task is in the Stopped state. 7.48.1 Structure7.48.2 RNC
Command
resume_or_start_task = element resume_or_start_task { attribute task_id { uuid } } resume_or_start_task_response = element resume_or_start_task_response { attribute status { status } & attribute status_text { text } } 7.48.3 Example: Resume a running task
Client
<resume_or_start_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <resume_or_start_task_response status="200" status_text="OK"/> 7.49 Command resume_paused_taskIn short: Resume a paused task. The client uses the resume_paused_task command to manually resume a paused task. 7.49.1 Structure7.49.2 RNC
Command
resume_paused_task = element resume_paused_task { attribute task_id { uuid } } resume_paused_task_response = element resume_paused_task_response { attribute status { status } & attribute status_text { text } } 7.49.3 Example: Resume a paused task
Client
<resume_paused_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <resume_paused_task_response status="200" status_text="OK"/> 7.50 Command resume_stopped_taskIn short: Resume a stopped task. The client uses the resume_stopped_task command to manually resume a stopped task. 7.50.1 Structure7.50.2 RNC
Command
resume_stopped_task = element resume_stopped_task { attribute task_id { uuid } } resume_stopped_task_response = element resume_stopped_task_response { attribute status { status } & attribute status_text { text } } 7.50.3 Example: Resume a stopped task
Client
<resume_stopped_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <resume_stopped_task_response status="200" status_text="OK"/> 7.51 Command start_taskIn short: Manually start an existing task. The client uses the start_task command to manually start an existing task. 7.51.1 Structure7.51.2 RNC
Command
start_task = element start_task { attribute task_id { uuid } } start_task_response = element start_task_response { attribute status { status } & attribute status_text { text } } 7.51.3 Example: Start a task
Client
<start_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <start_task_response status="200" status_text="OK"/> 7.52 Command stop_taskIn short: Stop a running task. The client uses the stop_task command to manually stop a running task. 7.52.1 Structure7.52.2 RNC
Command
stop_task = element stop_task { attribute task_id { uuid } } stop_task_response = element stop_task_response { attribute status { status } & attribute status_text { text } } 7.52.3 Example: Stop a running task
Client
<stop_task task_id="267a3405-e84a-47da-97b2-5fa0d2e8995e"/> <stop_task_response status="200" status_text="OK"/> 7.53 Command test_escalatorIn short: Run an escalator. The client uses the test_escalator command to invoke a test run of an escalator. 7.53.1 Structure7.53.2 RNC
Command
test_escalator = element test_escalator { attribute task_id { uuid } } test_escalator_response = element test_escalator_response { attribute status { status } & attribute status_text { text } } 7.53.3 Example: Test an escalator
Client
<test_escalator escalator_id="97390ade-e075-11df-9973-002264764cea"/> <test_escalator_response status="200" status_text="OK"/>
This file was automatically generated.
|