Module: Nexpose
- Defined in:
- lib/nexpose.rb
Defined Under Namespace
Modules: NexposeAPI, Sanitize, XMLUtils Classes: APIError, APIRequest, AdminCredentials, AuthenticationFailed, Connection, Device, EngineActivity, EngineListing, EngineSummary, HostName, IPRange, Reference, ReportAdHoc, ReportConfig, ReportConfigSummary, ReportFilter, ReportHistory, ReportSchedule, ReportSection, ReportSummary, ReportTemplateListing, ReportTemplateSummary, ScanConfig, ScanFilter, ScanStatistics, ScanSummary, ScanTrigger, Schedule, Site, SiteConfig, SiteDeviceListing, SiteListing, SiteScanHistory, SiteSummary, SmtpAlert, SnmpAlert, SyslogAlert, VulnFilter, VulnerabilityDetail, VulnerabilityListing, VulnerabilitySummary
Class Method Summary collapse
-
.get_iso_8601_date(int_date) ⇒ Object
Description Returns an ISO 8601 formatted date/time stamp.
-
.getAttribute(attribute, xml) ⇒ Object
Description TODO.
-
.printXML(object) ⇒ Object
Description Echos the last XML API request and response for the specified object.
-
.site_device_scan(connection, site_id, device_array, host_array, debug = false) ⇒ Object
TODO add.
Class Method Details
.get_iso_8601_date(int_date) ⇒ Object
Description
Returns an ISO 8601 formatted date/time stamp. All dates in NeXpose must use this format.
2724 2725 2726 2727 2728 |
# File 'lib/nexpose.rb', line 2724 def self.get_iso_8601_date(int_date) #@date_mod = date('Ymd\THis000', @int_date) date_mod = '' return date_mod end |
.getAttribute(attribute, xml) ⇒ Object
Description
TODO
2716 2717 2718 2719 2720 |
# File 'lib/nexpose.rb', line 2716 def self.getAttribute(attribute, xml) value = '' #@value = substr(substr(strstr(strstr(@xml,@attribute),'"'),1),0,strpos(substr(strstr(strstr(@xml,@attribute),'"'),1),'"')) return value end |
.printXML(object) ⇒ Object
Description
Echos the last XML API request and response for the specified object. (Useful for debugging)
2732 2733 2734 2735 |
# File 'lib/nexpose.rb', line 2732 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
2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 |
# File 'lib/nexpose.rb', line 2694 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 |