Module: Nexpose

Defined in:
lib/nexpose/manage.rb,
lib/nexpose.rb,
lib/nexpose/misc.rb,
lib/nexpose/role.rb,
lib/nexpose/scan.rb,
lib/nexpose/silo.rb,
lib/nexpose/site.rb,
lib/nexpose/user.rb,
lib/nexpose/util.rb,
lib/nexpose/vuln.rb,
lib/nexpose/creds.rb,
lib/nexpose/error.rb,
lib/nexpose/common.rb,
lib/nexpose/report.rb,
lib/nexpose/ticket.rb,
lib/nexpose/connection.rb,
lib/nexpose/api_request.rb,
lib/nexpose/scan_engine.rb

Overview

General management and diagnostic functions.

Defined Under Namespace

Modules: NexposeAPI, Sanitize, XMLUtils Classes: APIError, APIRequest, AdhocReportConfig, AdminCredentials, AuthenticationFailed, Connection, DBExport, Delivery, Device, Email, EngineConfig, EnginePool, EnginePoolSummary, EngineSummary, ExportCredential, Field, Filter, Generate, HTMLForm, HTMLForms, Header, Headers, HostName, IPRange, PEMKey, Reference, ReportConfig, ReportConfigSummary, ReportSummary, ReportTemplate, ReportTemplateSummary, SMTPAlert, SNMPAlert, ScanConfig, ScanFilter, ScanSummary, Schedule, Section, Site, SiteListing, SiteSummary, SyslogAlert, UserAuthenticator, UserConfig, UserSummary, VulnFilter, VulnerabilityDetail, VulnerabilityListing, VulnerabilitySummary

Class Method Summary collapse

Class Method Details

.printXML(object) ⇒ Object

Description

Echos the last XML API request and response for the specified object. (Useful for debugging)



100
101
102
103
# File 'lib/nexpose.rb', line 100

def self.printXML(object)
  puts "request" + object.request_xml.to_s
  puts "response is " + object.response_xml.to_s
end

.site_device_scan(connection, site_id, device_array, host_array, debug = false) ⇒ Object

TODO add



78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/nexpose.rb', line 78

def self.site_device_scan(connection, site_id, device_array, host_array, debug = false)

  request_xml = '<SiteDevicesScanRequest session-id="' + connection.session_id.to_s + '" site-id="' + site_id.to_s + '">'
  request_xml += '<Devices>'
  device_array.each do |d|
    request_xml += '<device id="' + d.to_s + '"/>'
  end
  request_xml += '</Devices>'
  request_xml += '<Hosts>'
  # The host array can only by single IP addresses for now. TODO: Expand to full API Spec.
  host_array.each do |h|
    request_xml += '<range from="' + h.to_s + '"/>'
  end
  request_xml += '</Hosts>'
  request_xml += '</SiteDevicesScanRequest>'

  r = connection.execute(request_xml)
  r.success ? {:engine_id => r.attributes['engine_id'], :scan_id => r.attributes['scan-id']} : nil
end