Class: Nexpose::ScanSummary
Overview
Object that represents a summary of a scan.
Defined Under Namespace
Classes: Nodes, Tasks, Vulnerabilities
Instance Attribute Summary collapse
-
#message ⇒ Object
readonly
The reason the scan was stopped or failed, if applicable.
-
#nodes ⇒ Object
readonly
Node statistics, including live, dead, filtered, and unresolved.
-
#tasks ⇒ Object
readonly
Task statistics, including pending, active, and completed tasks.
-
#vulnerabilities ⇒ Object
readonly
Vulnerability statistics, including statuses, severities, and counts.
Attributes inherited from ScanData
#end_time, #engine_id, #scan_id, #site_id, #start_time, #status
Class Method Summary collapse
-
.parse(xml) ⇒ ScanSummary
Parse a response from a Nexpose console into a valid ScanSummary object.
Instance Method Summary collapse
-
#initialize(scan_id, site_id, engine_id, status, start_time, end_time, message, tasks, nodes, vulnerabilities) ⇒ ScanSummary
constructor
Constructor.
Constructor Details
#initialize(scan_id, site_id, engine_id, status, start_time, end_time, message, tasks, nodes, vulnerabilities) ⇒ ScanSummary
Constructor
552 553 554 555 556 557 558 559 560 561 562 563 |
# File 'lib/nexpose/scan.rb', line 552 def initialize(scan_id, site_id, engine_id, status, start_time, end_time, , tasks, nodes, vulnerabilities) @scan_id = scan_id @site_id = site_id @engine_id = engine_id @status = status @start_time = start_time @end_time = end_time = @tasks = tasks @nodes = nodes @vulnerabilities = vulnerabilities end |
Instance Attribute Details
#message ⇒ Object (readonly)
The reason the scan was stopped or failed, if applicable.
542 543 544 |
# File 'lib/nexpose/scan.rb', line 542 def end |
#nodes ⇒ Object (readonly)
Node statistics, including live, dead, filtered, and unresolved.
547 548 549 |
# File 'lib/nexpose/scan.rb', line 547 def nodes @nodes end |
#tasks ⇒ Object (readonly)
Task statistics, including pending, active, and completed tasks.
545 546 547 |
# File 'lib/nexpose/scan.rb', line 545 def tasks @tasks end |
#vulnerabilities ⇒ Object (readonly)
Vulnerability statistics, including statuses, severities, and counts.
549 550 551 |
# File 'lib/nexpose/scan.rb', line 549 def vulnerabilities @vulnerabilities end |
Class Method Details
.parse(xml) ⇒ ScanSummary
Parse a response from a Nexpose console into a valid ScanSummary object.
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 |
# File 'lib/nexpose/scan.rb', line 570 def self.parse(xml) tasks = Tasks.parse(xml.elements['tasks']) nodes = Nodes.parse(xml.elements['nodes']) vulns = Vulnerabilities.parse(xml.attributes['scan-id'], xml) msg = xml.elements['message'] ? xml.elements['message'].text : nil # Start time can be empty in some error conditions. start_time = nil unless xml.attributes['startTime'] == '' start_time = DateTime.parse(xml.attributes['startTime'].to_s).to_time # Timestamp is UTC, but parsed as local time. start_time -= start_time.gmt_offset end # End time is often not present, since reporting on running scans. end_time = nil if xml.attributes['endTime'] end_time = DateTime.parse(xml.attributes['endTime'].to_s).to_time # Timestamp is UTC, but parsed as local time. end_time -= end_time.gmt_offset end ScanSummary.new(xml.attributes['scan-id'].to_i, xml.attributes['site-id'].to_i, xml.attributes['engine-id'].to_i, xml.attributes['status'], start_time, end_time, msg, tasks, nodes, vulns) end |