openvas-omp 0.0.2 → 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 +23 -0
- data/TODO +2 -0
- data/VERSION +1 -1
- data/examples/basic-scan.rb +21 -0
- data/lib/openvas-omp.rb +19 -3
- metadata +8 -4
data/README.rdoc
CHANGED
@@ -4,6 +4,29 @@ This library is used for communication with OpenVAS manager over OMP
|
|
4
4
|
You can start, stop, pause and resume scan. Watch progress and status of
|
5
5
|
scan, download report, etc.
|
6
6
|
|
7
|
+
== Usage example
|
8
|
+
|
9
|
+
require 'openvas-omp'
|
10
|
+
|
11
|
+
ov=OpenVASOMP::OpenVASOMP.new("user"=>'openvas',"password"=>'openvas')
|
12
|
+
config=ov.config_get().index("Full and fast")
|
13
|
+
target=ov.target_create({"name"=>"t", "hosts"=>"127.0.0.1", "comment"=>"t"})
|
14
|
+
taskid=ov.task_create({"name"=>"t","comment"=>"t", "target"=>target, "config"=>config})
|
15
|
+
ov.task_start(taskid)
|
16
|
+
while not ov.task_finished(taskid) do
|
17
|
+
stat=ov.task_get_byid(taskid)
|
18
|
+
puts "Status: #{stat['status']}, Progress: #{stat['progress']}"
|
19
|
+
sleep 10
|
20
|
+
end
|
21
|
+
stat=ov.task_get_byid(taskid)
|
22
|
+
content=ov.report_get_byid(stat["lastreport"],'HTML')
|
23
|
+
File.open('report.html', 'w') {|f| f.write(content) }
|
24
|
+
|
25
|
+
== Note
|
26
|
+
|
27
|
+
Note that if you're using gem and Ruby 1.8, you should require 'rubygems' as
|
28
|
+
well.
|
29
|
+
|
7
30
|
== Contributing to openvas-omp
|
8
31
|
|
9
32
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.4
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# Basic example of openvas-omp usage
|
3
|
+
|
4
|
+
# in case you're using Ruby 1.8 and using gem, you should uncomment line below
|
5
|
+
# require 'rubygems'
|
6
|
+
require 'openvas-omp'
|
7
|
+
|
8
|
+
ov=OpenVASOMP::OpenVASOMP.new("user"=>'openvas',"password"=>'openvas')
|
9
|
+
config=ov.config_get().index("Full and fast")
|
10
|
+
target=ov.target_create({"name"=>"t", "hosts"=>"127.0.0.1", "comment"=>"t"})
|
11
|
+
taskid=ov.task_create({"name"=>"t","comment"=>"t", "target"=>target, "config"=>config})
|
12
|
+
ov.task_start(taskid)
|
13
|
+
while not ov.task_finished(taskid) do
|
14
|
+
stat=ov.task_get_byid(taskid)
|
15
|
+
puts "Status: #{stat['status']}, Progress: #{stat['progress']} %"
|
16
|
+
sleep 10
|
17
|
+
end
|
18
|
+
stat=ov.task_get_byid(taskid)
|
19
|
+
content=ov.report_get_byid(stat["lastreport"],'HTML')
|
20
|
+
File.open('report.html', 'w') {|f| f.write(content) }
|
21
|
+
|
data/lib/openvas-omp.rb
CHANGED
@@ -20,6 +20,20 @@
|
|
20
20
|
# == Usage:
|
21
21
|
#
|
22
22
|
# require 'openvas-omp'
|
23
|
+
#
|
24
|
+
# ov=OpenVASOMP::OpenVASOMP.new("user"=>'openvas',"password"=>'openvas')
|
25
|
+
# config=ov.config_get().index("Full and fast")
|
26
|
+
# target=ov.target_create({"name"=>"t", "hosts"=>"127.0.0.1", "comment"=>"t"})
|
27
|
+
# taskid=ov.task_create({"name"=>"t","comment"=>"t", "target"=>target, "config"=>config})
|
28
|
+
# ov.task_start(taskid)
|
29
|
+
# while not ov.task_finished(taskid) do
|
30
|
+
# stat=ov.task_get_byid(taskid)
|
31
|
+
# puts "Status: #{stat['status']}, Progress: #{stat['progress']} %"
|
32
|
+
# sleep 10
|
33
|
+
# end
|
34
|
+
# stat=ov.task_get_byid(taskid)
|
35
|
+
# content=ov.report_get_byid(stat["lastreport"],'HTML')
|
36
|
+
# File.open('report.html', 'w') {|f| f.write(content) }
|
23
37
|
|
24
38
|
require 'socket'
|
25
39
|
require 'timeout'
|
@@ -33,6 +47,8 @@ require 'base64'
|
|
33
47
|
# Usage:
|
34
48
|
#
|
35
49
|
# require 'openvas-omp'
|
50
|
+
#
|
51
|
+
# ov=OpenVASOMP::OpenVASOMP.new("user"=>'openvas',"password"=>'openvas')
|
36
52
|
|
37
53
|
module OpenVASOMP
|
38
54
|
|
@@ -65,14 +81,14 @@ module OpenVASOMP
|
|
65
81
|
end
|
66
82
|
end
|
67
83
|
|
68
|
-
#
|
84
|
+
# Core class for OMP communication protocol
|
69
85
|
class OpenVASOMP
|
70
86
|
# initialize object: try to connect to OpenVAS using URL, user and password
|
71
87
|
#
|
72
88
|
# Usage:
|
73
89
|
#
|
74
|
-
#
|
75
|
-
#
|
90
|
+
# ov=OpenVASOMP.new(user=>'user',password=>'pass')
|
91
|
+
# # default: host=>'localhost', port=>'9390'
|
76
92
|
#
|
77
93
|
def initialize(p={})
|
78
94
|
if p.has_key?("host")
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: 0.0.
|
8
|
+
- 4
|
9
|
+
version: 0.0.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Vlatko Kosturjak
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date:
|
17
|
+
date: 2011-01-10 00:00:00 -08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -86,13 +86,16 @@ extensions: []
|
|
86
86
|
extra_rdoc_files:
|
87
87
|
- LICENSE.txt
|
88
88
|
- README.rdoc
|
89
|
+
- TODO
|
89
90
|
files:
|
90
91
|
- .document
|
91
92
|
- Gemfile
|
92
93
|
- LICENSE.txt
|
93
94
|
- README.rdoc
|
94
95
|
- Rakefile
|
96
|
+
- TODO
|
95
97
|
- VERSION
|
98
|
+
- examples/basic-scan.rb
|
96
99
|
- lib/openvas-omp.rb
|
97
100
|
- test/helper.rb
|
98
101
|
- test/test_openvas-omp.rb
|
@@ -110,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
110
113
|
requirements:
|
111
114
|
- - ">="
|
112
115
|
- !ruby/object:Gem::Version
|
113
|
-
hash: -
|
116
|
+
hash: -646625681
|
114
117
|
segments:
|
115
118
|
- 0
|
116
119
|
version: "0"
|
@@ -130,5 +133,6 @@ signing_key:
|
|
130
133
|
specification_version: 3
|
131
134
|
summary: Communicate with OpenVAS manager through OMP
|
132
135
|
test_files:
|
136
|
+
- examples/basic-scan.rb
|
133
137
|
- test/helper.rb
|
134
138
|
- test/test_openvas-omp.rb
|