class NessusClient

Nessus resource abstraction.

Constants

VERSION

The current version of the libary.

Attributes

headers[R]

@return [Hash] Instance current HTTP headers.

request[R]

@return [NessusClient::Request] Instance HTTP request object. @see NessusClient::Request

session[R]

@return [Boolean] whether has a session.

Public Class Methods

new(params = {}) click to toggle source

@param [Hash] params the options to create a NessusClient with. @option params [String] :uri ('localhost:8834/') Nessus resource to connect with @option params [String] :username (nil) Username to use in the connection @option params [String] :password (nil) Password to use in the connection @option params [String] :ssl_verify_peer (true) Whether should check valid SSL certificate

# 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

Public Instance Methods

has_session?() click to toggle source

Gets NessusClient::Session authentication status. @return [Boolean] whether NessusClient has successfully authenticated.

# File lib/nessus_client.rb, line 51
def has_session?
  session
end