prenus 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.rdoc +5 -8
- data/bin/prenus +2 -1
- data/lib/gemcache/ruby-nessus/ruby-nessus.rb +3 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version1/event.rb +90 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version1/host.rb +273 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version1/port.rb +91 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version1/version1.rb +394 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb +341 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version2/host.rb +595 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version2/port.rb +79 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/Version2/version2.rb +363 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/cli.rb +132 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/core_ext/helpers.rb +109 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/log.rb +82 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/nessus.rb +6 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/parse.rb +41 -0
- data/lib/gemcache/ruby-nessus/ruby-nessus/version.rb +3 -0
- metadata +18 -14
@@ -0,0 +1,109 @@
|
|
1
|
+
class Fixnum
|
2
|
+
|
3
|
+
# Return false if the integer does NOT equal zero
|
4
|
+
# @return [Boolean]
|
5
|
+
# Return true is count does NOT equal zero
|
6
|
+
# @example
|
7
|
+
# host.event_count.blank? #=> false
|
8
|
+
def blank?
|
9
|
+
if (self.zero?)
|
10
|
+
return true
|
11
|
+
else
|
12
|
+
return false
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# Return a severity integer in words.
|
17
|
+
# @return [String]
|
18
|
+
# Return a severity integer in words.
|
19
|
+
# @example
|
20
|
+
# event.severity.in_words #=> "High Severity"
|
21
|
+
def in_words
|
22
|
+
case self
|
23
|
+
when 0
|
24
|
+
return "Informational Severity"
|
25
|
+
when 1
|
26
|
+
return "Low Severity"
|
27
|
+
when 2
|
28
|
+
return "Medium Severity"
|
29
|
+
when 3
|
30
|
+
return "High Severity"
|
31
|
+
when 4
|
32
|
+
return "Critical Severity"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
# Return True if the given severity is critical
|
37
|
+
# @return [Boolean]
|
38
|
+
# Return True if the given severity is critical
|
39
|
+
# @example
|
40
|
+
# host.severity.critical? #=> true
|
41
|
+
def critical?
|
42
|
+
if self == 4
|
43
|
+
true
|
44
|
+
else
|
45
|
+
false
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
# Return True if the given severity is high
|
50
|
+
# @return [Boolean]
|
51
|
+
# Return True if the given severity is high
|
52
|
+
# @example
|
53
|
+
# host.severity.high? #=> true
|
54
|
+
def high?
|
55
|
+
if self == 3
|
56
|
+
true
|
57
|
+
else
|
58
|
+
false
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
# Return True if the given severity is medium
|
63
|
+
# @return [Boolean]
|
64
|
+
# Return True if the given severity is medium
|
65
|
+
# @example
|
66
|
+
# host.severity.medium? #=> true
|
67
|
+
def medium?
|
68
|
+
if self == 2
|
69
|
+
true
|
70
|
+
else
|
71
|
+
false
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
# Return True if the given severity is low
|
76
|
+
# @return [Boolean]
|
77
|
+
# Return True if the given severity is low
|
78
|
+
# @example
|
79
|
+
# host.severity.low? #=> true
|
80
|
+
def low?
|
81
|
+
if self >= 1
|
82
|
+
true
|
83
|
+
else
|
84
|
+
false
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
class String
|
91
|
+
|
92
|
+
# Return True if the given string is blank?
|
93
|
+
# @return [Boolean]
|
94
|
+
# Return True if the given string is blank?
|
95
|
+
# @example
|
96
|
+
# host.hostname.blank? #=> false
|
97
|
+
def blank?
|
98
|
+
respond_to?(:empty?) ? empty? : !self
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
102
|
+
|
103
|
+
class DateTime
|
104
|
+
|
105
|
+
def pretty
|
106
|
+
self.strftime('%A %B %d, %Y %I:%M:%S %p')
|
107
|
+
end
|
108
|
+
|
109
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
require 'rainbow'
|
2
|
+
module Nessus
|
3
|
+
|
4
|
+
class Log
|
5
|
+
|
6
|
+
#
|
7
|
+
# Formatting
|
8
|
+
#
|
9
|
+
def self.it(msg=nil)
|
10
|
+
STDERR.puts "#{msg}"
|
11
|
+
end
|
12
|
+
|
13
|
+
def self.it!(msg=nil)
|
14
|
+
STDERR.puts "\t#{msg}"
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.break
|
18
|
+
STDERR.puts "\t"
|
19
|
+
STDERR.puts ""
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.end
|
23
|
+
STDERR.puts "\n\n"
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# Headers
|
28
|
+
#
|
29
|
+
def self.h1(title, msg=nil)
|
30
|
+
STDERR.puts "-> #{title}: ".foreground(:green).bright + "#{msg}"
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.h2(title, msg=nil)
|
34
|
+
STDERR.puts "\t#{title}: ".foreground(:blue).bright + "#{msg}"
|
35
|
+
end
|
36
|
+
|
37
|
+
def self.h3(title, msg=nil)
|
38
|
+
STDERR.puts "\t#{title}: " + "#{msg}".foreground(:blue).underline
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.h4(msg=nil)
|
42
|
+
STDERR.puts "\t\t- #{msg}"
|
43
|
+
end
|
44
|
+
|
45
|
+
def self.h5(title, msg=nil)
|
46
|
+
STDERR.puts "\t\t- #{title}: #{msg}"
|
47
|
+
end
|
48
|
+
|
49
|
+
#
|
50
|
+
# Errors
|
51
|
+
#
|
52
|
+
def self.error(msg=nil)
|
53
|
+
STDERR.puts "ERROR: ".foreground(:red).bright + "#{msg}"
|
54
|
+
end
|
55
|
+
|
56
|
+
def self.warn(msg=nil)
|
57
|
+
STDERR.puts "WARNING: ".foreground(:yellow).bright + "#{msg}"
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.info(msg=nil)
|
61
|
+
STDERR.puts "INFO: ".foreground(:green).bright + "#{msg}"
|
62
|
+
end
|
63
|
+
|
64
|
+
#
|
65
|
+
# Event Severities
|
66
|
+
#
|
67
|
+
def self.informational(title, msg=nil)
|
68
|
+
STDERR.puts "\t#{title}: ".foreground(:magenta).bright + "#{msg}"
|
69
|
+
end
|
70
|
+
def self.low(title, msg=nil)
|
71
|
+
STDERR.puts "\t#{title}: ".foreground(:green) + "#{msg}"
|
72
|
+
end
|
73
|
+
def self.medium(title, msg=nil)
|
74
|
+
STDERR.puts "\t#{title}: ".foreground(:yellow).bright + "#{msg}"
|
75
|
+
end
|
76
|
+
def self.high(title, msg=nil)
|
77
|
+
STDERR.puts "\t#{title}: ".foreground(:red).bright + "#{msg}"
|
78
|
+
end
|
79
|
+
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'lib/gemcache/ruby-nessus/ruby-nessus/log'
|
2
|
+
require 'lib/gemcache/ruby-nessus/ruby-nessus/Version1/version1'
|
3
|
+
require 'lib/gemcache/ruby-nessus/ruby-nessus/Version2/version2'
|
4
|
+
|
5
|
+
require 'nokogiri'
|
6
|
+
require 'date'
|
7
|
+
require 'enumerator'
|
8
|
+
require 'time'
|
9
|
+
|
10
|
+
module Nessus
|
11
|
+
|
12
|
+
class Parse
|
13
|
+
|
14
|
+
def initialize(file, options={}, &block)
|
15
|
+
@file = File.open(file)
|
16
|
+
@version = options[:version]
|
17
|
+
@xml = Nokogiri::XML.parse(@file.read)
|
18
|
+
|
19
|
+
if @version
|
20
|
+
case @version
|
21
|
+
when 1
|
22
|
+
block.call(Version1::XML.new(@xml)) if block
|
23
|
+
when 2
|
24
|
+
block.call(Version2::XML.new(@xml)) if block
|
25
|
+
else
|
26
|
+
raise "Error: Supported .Nessus Version are 1 and 2."
|
27
|
+
end
|
28
|
+
else
|
29
|
+
if @xml.at('NessusClientData')
|
30
|
+
block.call(Version1::XML.new(@xml)) if block
|
31
|
+
elsif @xml.at('NessusClientData_v2')
|
32
|
+
block.call(Version2::XML.new(@xml)) if block
|
33
|
+
else
|
34
|
+
raise "Error: Supported .Nessus Version are 1 and 2."
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prenus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,19 +9,8 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
13
|
-
dependencies:
|
14
|
-
- !ruby/object:Gem::Dependency
|
15
|
-
name: ruby-nessus
|
16
|
-
requirement: &70128637787000 !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 1.0.3
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: *70128637787000
|
12
|
+
date: 2012-09-03 00:00:00.000000000Z
|
13
|
+
dependencies: []
|
25
14
|
description: Pretty Nessus = Prenus
|
26
15
|
email: xntrik@gmail.com
|
27
16
|
executables:
|
@@ -32,6 +21,21 @@ extra_rdoc_files:
|
|
32
21
|
- README.rdoc
|
33
22
|
files:
|
34
23
|
- lib/css/table.css
|
24
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/cli.rb
|
25
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/core_ext/helpers.rb
|
26
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/log.rb
|
27
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/nessus.rb
|
28
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/parse.rb
|
29
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/version.rb
|
30
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version1/event.rb
|
31
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version1/host.rb
|
32
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version1/port.rb
|
33
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version1/version1.rb
|
34
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version2/event.rb
|
35
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version2/host.rb
|
36
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version2/port.rb
|
37
|
+
- lib/gemcache/ruby-nessus/ruby-nessus/Version2/version2.rb
|
38
|
+
- lib/gemcache/ruby-nessus/ruby-nessus.rb
|
35
39
|
- lib/images/back_disabled.png
|
36
40
|
- lib/images/back_enabled.png
|
37
41
|
- lib/images/back_enabled_hover.png
|