Class: NessusClient
- Inherits:
-
Object
- Object
- NessusClient
- Includes:
- Resource::Exports, Resource::Folders, Resource::Policies, Resource::Scans, Resource::Server, Resource::Session, Resource::Tokens
- Defined in:
- lib/nessus_client.rb,
lib/nessus_client/request.rb,
lib/nessus_client/version.rb,
lib/nessus_client/exception.rb
Overview
Nessus resource abstraction.
Defined Under Namespace
Constant Summary collapse
- VERSION =
The current version of the libary.
'0.1.6'
Instance Attribute Summary collapse
-
#headers ⇒ Hash
readonly
Instance current HTTP headers.
-
#request ⇒ NessusClient::Request
readonly
Instance HTTP request object.
-
#session ⇒ Boolean
readonly
Whether has a session.
Instance Method Summary collapse
-
#has_session? ⇒ Boolean
Gets NessusClient::Session authentication status.
-
#initialize(params = {}) ⇒ NessusClient
constructor
A new instance of NessusClient.
Methods included from Resource::Tokens
#token_download, #token_status
Methods included from Resource::Session
Methods included from Resource::Server
#server_properties, #server_status
Methods included from Resource::Scans
#get_scan_by_name, #launch, #launch_by_name, #list_scans, #scan_details
Methods included from Resource::Policies
#get_policy_by_name, #get_policy_id_by_name, #list_credentials_by_policy_name, #policies, #update_policy_by_name
Methods included from Resource::Folders
Methods included from Resource::Exports
#export_download, #export_request, #export_status
Constructor Details
#initialize(params = {}) ⇒ NessusClient
Returns a new instance of NessusClient.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/nessus_client.rb', line 34 def initialize(params = {}) default_params = { uri: 'https://localhost:8834/', username: nil, password: nil, ssl_verify_peer: true } params = default_params.merge(params) req_params = params.select { |key, _value| i[uri ssl_verify_peer].include?(key) } @request = NessusClient::Request.new(req_params) @headers = NessusClient::Request::DEFAULT_HEADERS.dup set_session(params.fetch(:username), params.fetch(:password)) end |
Instance Attribute Details
#headers ⇒ Hash (readonly)
Returns Instance current HTTP headers.
17 18 19 |
# File 'lib/nessus_client.rb', line 17 def headers @headers end |
#request ⇒ NessusClient::Request (readonly)
Returns Instance HTTP request object.
13 14 15 |
# File 'lib/nessus_client.rb', line 13 def request @request end |
#session ⇒ Boolean (readonly)
Returns whether has a session.
15 16 17 |
# File 'lib/nessus_client.rb', line 15 def session @session end |
Instance Method Details
#has_session? ⇒ Boolean
Gets NessusClient::Session authentication status.
51 52 53 |
# File 'lib/nessus_client.rb', line 51 def has_session? session end |