scandb 0.0.9
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/History.txt +6 -0
- data/Manifest.txt +22 -0
- data/README.txt +47 -0
- data/Rakefile +18 -0
- data/bin/scandb +10 -0
- data/lib/scandb.rb +26 -0
- data/lib/scandb/config.rb +33 -0
- data/lib/scandb/database.rb +103 -0
- data/lib/scandb/exceptions.rb +24 -0
- data/lib/scandb/exceptions/invalid_database_config.rb +27 -0
- data/lib/scandb/host.rb +54 -0
- data/lib/scandb/host_name.rb +47 -0
- data/lib/scandb/model.rb +39 -0
- data/lib/scandb/nmap.rb +93 -0
- data/lib/scandb/os.rb +42 -0
- data/lib/scandb/os_guess.rb +40 -0
- data/lib/scandb/port.rb +53 -0
- data/lib/scandb/runner.rb +91 -0
- data/lib/scandb/scandb.rb +25 -0
- data/lib/scandb/scanned_port.rb +52 -0
- data/lib/scandb/service.rb +47 -0
- data/lib/scandb/version.rb +27 -0
- metadata +127 -0
data/History.txt
ADDED
data/Manifest.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
History.txt
|
2
|
+
Manifest.txt
|
3
|
+
README.txt
|
4
|
+
Rakefile
|
5
|
+
bin/scandb
|
6
|
+
lib/scandb/exceptions/invalid_database_config.rb
|
7
|
+
lib/scandb/exceptions.rb
|
8
|
+
lib/scandb/config.rb
|
9
|
+
lib/scandb/database.rb
|
10
|
+
lib/scandb/model.rb
|
11
|
+
lib/scandb/port.rb
|
12
|
+
lib/scandb/service.rb
|
13
|
+
lib/scandb/scanned_port.rb
|
14
|
+
lib/scandb/os.rb
|
15
|
+
lib/scandb/os_guess.rb
|
16
|
+
lib/scandb/host_name.rb
|
17
|
+
lib/scandb/host.rb
|
18
|
+
lib/scandb/nmap.rb
|
19
|
+
lib/scandb/runner.rb
|
20
|
+
lib/scandb/scandb.rb
|
21
|
+
lib/scandb/version.rb
|
22
|
+
lib/scandb.rb
|
data/README.txt
ADDED
@@ -0,0 +1,47 @@
|
|
1
|
+
= ScanDB
|
2
|
+
|
3
|
+
* http://rubyforge.org/projects/scandb/
|
4
|
+
|
5
|
+
== DESCRIPTION:
|
6
|
+
|
7
|
+
ScanDB is a library for importing and analyzing information generated by
|
8
|
+
various network scanning utilities.
|
9
|
+
|
10
|
+
== FEATURES/PROBLEMS:
|
11
|
+
|
12
|
+
* Imports scan information from Nmap XML scan files.
|
13
|
+
|
14
|
+
== REQUIREMENTS:
|
15
|
+
|
16
|
+
* DataMapper:
|
17
|
+
* do_sqlite3 >= 0.9.2
|
18
|
+
* dm-core >= 0.9.2
|
19
|
+
* dm-types >= 0.9.2
|
20
|
+
* libxml-ruby
|
21
|
+
|
22
|
+
== INSTALL:
|
23
|
+
|
24
|
+
$ sudo gem install scandb
|
25
|
+
|
26
|
+
== EXAMPLES:
|
27
|
+
|
28
|
+
== LICENSE:
|
29
|
+
|
30
|
+
ScanDB - A library for importing and analyzing information generated by
|
31
|
+
various network scanning utilities.
|
32
|
+
|
33
|
+
Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
34
|
+
|
35
|
+
This program is free software; you can redistribute it and/or modify
|
36
|
+
it under the terms of the GNU General Public License as published by
|
37
|
+
the Free Software Foundation; either version 2 of the License, or
|
38
|
+
(at your option) any later version.
|
39
|
+
|
40
|
+
This program is distributed in the hope that it will be useful,
|
41
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
42
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
43
|
+
GNU General Public License for more details.
|
44
|
+
|
45
|
+
You should have received a copy of the GNU General Public License along
|
46
|
+
with this program; if not, write to the Free Software Foundation, Inc.,
|
47
|
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
data/Rakefile
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'hoe'
|
5
|
+
require './lib/scandb/version.rb'
|
6
|
+
|
7
|
+
Hoe.new('scandb', ScanDB::VERSION) do |p|
|
8
|
+
p.rubyforge_name = 'scandb'
|
9
|
+
p.developer('Postmodern Modulus III', 'postmodern.mod3@gmail.com')
|
10
|
+
p.extra_deps = [
|
11
|
+
['do_sqlite3', '>=0.9.3'],
|
12
|
+
['dm-core', '>=0.9.3'],
|
13
|
+
['dm-types', '>=0.9.3'],
|
14
|
+
['libxml-ruby']
|
15
|
+
]
|
16
|
+
end
|
17
|
+
|
18
|
+
# vim: syntax=Ruby
|
data/bin/scandb
ADDED
data/lib/scandb.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/nmap'
|
25
|
+
require 'scandb/scandb'
|
26
|
+
require 'scandb/version'
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'fileutils'
|
25
|
+
|
26
|
+
module ScanDB
|
27
|
+
module Config
|
28
|
+
# The configuration directory
|
29
|
+
PATH = File.join(ENV['HOME'],'.scandb')
|
30
|
+
|
31
|
+
FileUtils.mkdir(PATH) unless File.directory?(PATH)
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,103 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/exceptions/invalid_database_config'
|
25
|
+
require 'scandb/config'
|
26
|
+
require 'scandb/port'
|
27
|
+
require 'scandb/service'
|
28
|
+
require 'scandb/os'
|
29
|
+
require 'scandb/os_guess'
|
30
|
+
require 'scandb/host_name'
|
31
|
+
require 'scandb/host'
|
32
|
+
|
33
|
+
require 'dm-core'
|
34
|
+
|
35
|
+
module ScanDB
|
36
|
+
module Database
|
37
|
+
# Database configuration file
|
38
|
+
CONFIG_FILE = File.join(Config::PATH,'database.yml')
|
39
|
+
|
40
|
+
# Default database configuration
|
41
|
+
DEFAULT_CONFIG = "sqlite3://" + File.join(Config::PATH,'scandb.db')
|
42
|
+
|
43
|
+
# Default log path
|
44
|
+
DEFAULT_LOG_PATH = File.join(Config::PATH,'scandb.log')
|
45
|
+
|
46
|
+
# Default log level
|
47
|
+
DEFAULT_LOG_LEVEL = :info
|
48
|
+
|
49
|
+
#
|
50
|
+
# Returns the Database configuration that is stored in the
|
51
|
+
# +CONFIG_FILE+. Defaults to +DEFAULT_CONFIG+ if +CONFIG_FILE+ does not
|
52
|
+
# exist.
|
53
|
+
#
|
54
|
+
def Database.config
|
55
|
+
if File.file?(CONFIG_FILE)
|
56
|
+
conf = YAML.load(CONFIG_FILE)
|
57
|
+
|
58
|
+
unless (conf.kind_of?(Hash) || conf.kind_of?(String))
|
59
|
+
raise(InvalidDatabaseConfig,"#{CONFIG_FILE} must contain either a Hash or a String",caller)
|
60
|
+
end
|
61
|
+
|
62
|
+
return conf
|
63
|
+
end
|
64
|
+
|
65
|
+
return DEFAULT_CONFIG
|
66
|
+
end
|
67
|
+
|
68
|
+
#
|
69
|
+
# Setup the Database log with the given _options_.
|
70
|
+
#
|
71
|
+
# _options_ may contain the following keys:
|
72
|
+
# <tt>:path</tt>:: The path of the log file. Defaults to
|
73
|
+
# +DEFAULT_LOG_PATH+.
|
74
|
+
# <tt>:stream</tt>:: The stream to use for the log.
|
75
|
+
# <tt>:level</tt>:: The level of messages to log.
|
76
|
+
#
|
77
|
+
def Database.setup_log(options={})
|
78
|
+
path = (options[:path] || DEFAULT_LOG_PATH)
|
79
|
+
stream = (options[:stream] || File.new(path,'w+'))
|
80
|
+
level = (options[:level] || DEFAULT_LOG_LEVEL)
|
81
|
+
|
82
|
+
DataMapper::Logger.new(stream,level)
|
83
|
+
return nil
|
84
|
+
end
|
85
|
+
|
86
|
+
#
|
87
|
+
# Sets up the Database with the given _configuration_. If
|
88
|
+
# _configuration is not given, +DEFAULT_CONFIG+ will be used to setup
|
89
|
+
# the Database.
|
90
|
+
#
|
91
|
+
def Database.setup(configuration=DEFAULT_CONFIG,&block)
|
92
|
+
Database.setup_log
|
93
|
+
DataMapper.setup(:default, configuration)
|
94
|
+
|
95
|
+
block.call if block
|
96
|
+
|
97
|
+
DataMapper.auto_upgrade!
|
98
|
+
return nil
|
99
|
+
end
|
100
|
+
|
101
|
+
Database.setup
|
102
|
+
end
|
103
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/exceptions/invalid_database_config'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
module ScanDB
|
25
|
+
class InvalidDatabaseConfig < RuntimeError
|
26
|
+
end
|
27
|
+
end
|
data/lib/scandb/host.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/model'
|
25
|
+
require 'scandb/host_name'
|
26
|
+
require 'scandb/os_guess'
|
27
|
+
require 'scandb/scanned_port'
|
28
|
+
|
29
|
+
module ScanDB
|
30
|
+
class Host
|
31
|
+
|
32
|
+
include Model
|
33
|
+
|
34
|
+
property :ip, String
|
35
|
+
|
36
|
+
has n, :names, :class_name => 'HostName'
|
37
|
+
|
38
|
+
has n, :os_guesses, :order => [:accuracy.desc], :class_name => 'OSGuess'
|
39
|
+
|
40
|
+
has n, :scanned_ports
|
41
|
+
|
42
|
+
#
|
43
|
+
# Returns the primary host name.
|
44
|
+
#
|
45
|
+
def host_name
|
46
|
+
names.first
|
47
|
+
end
|
48
|
+
|
49
|
+
def to_s
|
50
|
+
ip
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/host'
|
25
|
+
|
26
|
+
module ScanDB
|
27
|
+
class HostName
|
28
|
+
|
29
|
+
include Model
|
30
|
+
|
31
|
+
property :name, Text
|
32
|
+
|
33
|
+
belongs_to :host
|
34
|
+
|
35
|
+
def inspect
|
36
|
+
name
|
37
|
+
end
|
38
|
+
|
39
|
+
#
|
40
|
+
# Returns the host name in String form.
|
41
|
+
#
|
42
|
+
def to_s
|
43
|
+
name
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
data/lib/scandb/model.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'dm-core'
|
25
|
+
|
26
|
+
module ScanDB
|
27
|
+
module Model
|
28
|
+
include DataMapper::Types
|
29
|
+
|
30
|
+
def self.included(base)
|
31
|
+
base.module_eval do
|
32
|
+
include DataMapper::Resource
|
33
|
+
include DataMapper::AutoMigrations
|
34
|
+
|
35
|
+
property :id, Serial
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/scandb/nmap.rb
ADDED
@@ -0,0 +1,93 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/database'
|
25
|
+
require 'scandb/host'
|
26
|
+
|
27
|
+
require 'libxml'
|
28
|
+
|
29
|
+
module ScanDB
|
30
|
+
module Nmap
|
31
|
+
#
|
32
|
+
# Imports scan information from a Nmap XML scan file, specified by
|
33
|
+
# the _path_. Returns an Array of Host objects.
|
34
|
+
#
|
35
|
+
# Nmap.from_xml('path/to/scan.xml')
|
36
|
+
# # => [...]
|
37
|
+
#
|
38
|
+
def Nmap.from_xml(path)
|
39
|
+
doc = XML::Document.file(path)
|
40
|
+
hosts = []
|
41
|
+
|
42
|
+
doc.find("/nmaprun/host[status[@state='up']]").each do |host|
|
43
|
+
ip = host.find_first("address[@addr and @addrtype='ipv4']")['addr']
|
44
|
+
new_host = Host.first_or_create(:ip => ip)
|
45
|
+
|
46
|
+
host.find('hostname').each do |hostname|
|
47
|
+
new_host.names << HostName.first_or_create(
|
48
|
+
:name => hostname['name'],
|
49
|
+
:host_id => new_host.id
|
50
|
+
)
|
51
|
+
end
|
52
|
+
|
53
|
+
host.find('os/osclass').each do |osclass|
|
54
|
+
new_os = OS.first_or_create(
|
55
|
+
:type => osclass['type'],
|
56
|
+
:vendor => osclass['vendor'],
|
57
|
+
:family => osclass['osfamily'],
|
58
|
+
:version => osclass['osgen']
|
59
|
+
)
|
60
|
+
|
61
|
+
new_host.os_guesses << OSGuess.first_or_create(
|
62
|
+
:os_id => new_os.id,
|
63
|
+
:accuracy => osclass['accuracy'].to_i
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
host.find('ports/port').each do |port|
|
68
|
+
new_port = Port.first_or_create(
|
69
|
+
:number => port['portid'].to_i,
|
70
|
+
:protocol => port['protocol'].to_sym
|
71
|
+
)
|
72
|
+
|
73
|
+
new_service = Service.first_or_create(
|
74
|
+
:name => port.find_first('service[@name]')['name']
|
75
|
+
)
|
76
|
+
|
77
|
+
new_host.scanned_ports << ScannedPort.first_or_create(
|
78
|
+
:status => port.find_first('state[@state]')['state'].to_sym,
|
79
|
+
:service_id => new_service.id,
|
80
|
+
:port_id => new_port.id,
|
81
|
+
:host_id => new_host.id
|
82
|
+
)
|
83
|
+
end
|
84
|
+
|
85
|
+
new_host.save
|
86
|
+
|
87
|
+
hosts << new_host
|
88
|
+
end
|
89
|
+
|
90
|
+
return hosts
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
data/lib/scandb/os.rb
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/model'
|
25
|
+
|
26
|
+
module ScanDB
|
27
|
+
class OS
|
28
|
+
|
29
|
+
include Model
|
30
|
+
|
31
|
+
property :type, String
|
32
|
+
|
33
|
+
property :vendor, String
|
34
|
+
|
35
|
+
property :family, String
|
36
|
+
|
37
|
+
property :version, String
|
38
|
+
|
39
|
+
has n, :guesses, :class_name => 'OSGuess'
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/model'
|
25
|
+
require 'scandb/os'
|
26
|
+
require 'scandb/host'
|
27
|
+
|
28
|
+
module ScanDB
|
29
|
+
class OSGuess
|
30
|
+
|
31
|
+
include Model
|
32
|
+
|
33
|
+
property :accuracy, Integer
|
34
|
+
|
35
|
+
belongs_to :os, :class_name => 'OS'
|
36
|
+
|
37
|
+
belongs_to :host
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
data/lib/scandb/port.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/model'
|
25
|
+
require 'scandb/host'
|
26
|
+
require 'scandb/service'
|
27
|
+
|
28
|
+
require 'dm-types/enum'
|
29
|
+
|
30
|
+
module ScanDB
|
31
|
+
class Port
|
32
|
+
|
33
|
+
include Model
|
34
|
+
|
35
|
+
property :protocol, Enum[:tcp, :udp]
|
36
|
+
|
37
|
+
property :number, Integer
|
38
|
+
|
39
|
+
has n, :scanned, :class_name => 'ScannedPort'
|
40
|
+
|
41
|
+
has n, :hosts, :through => :scanned
|
42
|
+
|
43
|
+
has n, :services, :through => :scanned
|
44
|
+
|
45
|
+
#
|
46
|
+
# Returns the String form of the port.
|
47
|
+
#
|
48
|
+
def to_s
|
49
|
+
"#{number}/#{protocol}"
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/database'
|
25
|
+
require 'scandb/nmap'
|
26
|
+
|
27
|
+
require 'ostruct'
|
28
|
+
require 'optparse'
|
29
|
+
|
30
|
+
module ScanDB
|
31
|
+
module Runner
|
32
|
+
#
|
33
|
+
# The command-line runner.
|
34
|
+
#
|
35
|
+
def Runner.command_line(args)
|
36
|
+
options = OpenStruct.new
|
37
|
+
|
38
|
+
opts = OptionParser.new do |opts|
|
39
|
+
opts.banner = 'usage: scandb [-d URI] [--import-nmap FILE | -L | -p PORT | -s NAME]'
|
40
|
+
|
41
|
+
opts.on('-d','--database URI','The URI for the Database.','Defaults to ~/.scandb/scandb.db') do |uri|
|
42
|
+
options.database = uri
|
43
|
+
end
|
44
|
+
|
45
|
+
opts.on('--import-nmap FILE','Import a Nmap XML scan file') do |file|
|
46
|
+
options.import = :nmap
|
47
|
+
options.import_file = file
|
48
|
+
end
|
49
|
+
|
50
|
+
opts.on('-L','--list-hosts','List all hosts within ScanDB') do
|
51
|
+
options.list_hosts = true
|
52
|
+
end
|
53
|
+
|
54
|
+
opts.on('-p','--with-port PORT','List hosts with the specified open PORT') do |port|
|
55
|
+
options.with_port = port.to_i
|
56
|
+
end
|
57
|
+
|
58
|
+
opts.on('-s','--with-service NAME','List hosts with the specified service') do |name|
|
59
|
+
options.with_service = name
|
60
|
+
end
|
61
|
+
|
62
|
+
opts.on('-h','--help','This cruft') do
|
63
|
+
puts opts
|
64
|
+
exit
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
opts.parse!(args)
|
69
|
+
|
70
|
+
if options.import
|
71
|
+
case options.import
|
72
|
+
when :nmap then
|
73
|
+
hosts = Nmap.from_xml(options.import_file)
|
74
|
+
puts "Success imported #{hosts.length} hosts."
|
75
|
+
end
|
76
|
+
else
|
77
|
+
if options.with_port
|
78
|
+
hosts = Port.all(:number => options.with_port).scanned(:status => :open).host
|
79
|
+
elsif options.with_service
|
80
|
+
hosts = Service.all(:name.like => "%#{options.with_service}%").scanned(:status => :open).host
|
81
|
+
else
|
82
|
+
hosts = Host.all
|
83
|
+
end
|
84
|
+
|
85
|
+
hosts.each { |host| puts host}
|
86
|
+
end
|
87
|
+
|
88
|
+
return true
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
module ScanDB
|
25
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/model'
|
25
|
+
require 'scandb/service'
|
26
|
+
require 'scandb/port'
|
27
|
+
require 'scandb/host'
|
28
|
+
|
29
|
+
require 'dm-types/enum'
|
30
|
+
|
31
|
+
module ScanDB
|
32
|
+
class ScannedPort
|
33
|
+
|
34
|
+
include Model
|
35
|
+
|
36
|
+
property :status, Enum[:open, :filtered, :closed]
|
37
|
+
|
38
|
+
belongs_to :service
|
39
|
+
|
40
|
+
belongs_to :port
|
41
|
+
|
42
|
+
belongs_to :host
|
43
|
+
|
44
|
+
#
|
45
|
+
# Returns the String form of the scanned port.
|
46
|
+
#
|
47
|
+
def to_s
|
48
|
+
sprintf("%9s%9s\t%s",port,status,service)
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
require 'scandb/model'
|
25
|
+
|
26
|
+
require 'dm-types/enum'
|
27
|
+
|
28
|
+
module ScanDB
|
29
|
+
class Service
|
30
|
+
|
31
|
+
include Model
|
32
|
+
|
33
|
+
property :name, String
|
34
|
+
|
35
|
+
has n, :scanned, :class_name => 'ScannedPort'
|
36
|
+
|
37
|
+
has n, :hosts, :through => :scanned
|
38
|
+
|
39
|
+
#
|
40
|
+
# Returns the String form of the service.
|
41
|
+
#
|
42
|
+
def to_s
|
43
|
+
name
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#
|
2
|
+
#--
|
3
|
+
# ScanDB - A library for importing and analyzing information generated by
|
4
|
+
# various network scanning utilities.
|
5
|
+
#
|
6
|
+
# Copyright (c) 2008 Hal Brodigan (postmodern.mod3 at gmail.com)
|
7
|
+
#
|
8
|
+
# This program is free software; you can redistribute it and/or modify
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
11
|
+
# (at your option) any later version.
|
12
|
+
#
|
13
|
+
# This program is distributed in the hope that it will be useful,
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
# GNU General Public License for more details.
|
17
|
+
#
|
18
|
+
# You should have received a copy of the GNU General Public License along
|
19
|
+
# with this program; if not, write to the Free Software Foundation, Inc.,
|
20
|
+
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
21
|
+
#++
|
22
|
+
#
|
23
|
+
|
24
|
+
module ScanDB
|
25
|
+
# ScanDB version
|
26
|
+
VERSION = '0.0.9'
|
27
|
+
end
|
metadata
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: scandb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.9
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Postmodern Modulus III
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-07-27 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: do_sqlite3
|
17
|
+
type: :runtime
|
18
|
+
version_requirement:
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: 0.9.3
|
24
|
+
version:
|
25
|
+
- !ruby/object:Gem::Dependency
|
26
|
+
name: dm-core
|
27
|
+
type: :runtime
|
28
|
+
version_requirement:
|
29
|
+
version_requirements: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.9.3
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: dm-types
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.9.3
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: libxml-ruby
|
47
|
+
type: :runtime
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: "0"
|
54
|
+
version:
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: hoe
|
57
|
+
type: :development
|
58
|
+
version_requirement:
|
59
|
+
version_requirements: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - ">="
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 1.7.0
|
64
|
+
version:
|
65
|
+
description: ScanDB is a library for importing and analyzing information generated by various network scanning utilities.
|
66
|
+
email:
|
67
|
+
- postmodern.mod3@gmail.com
|
68
|
+
executables:
|
69
|
+
- scandb
|
70
|
+
extensions: []
|
71
|
+
|
72
|
+
extra_rdoc_files:
|
73
|
+
- History.txt
|
74
|
+
- Manifest.txt
|
75
|
+
- README.txt
|
76
|
+
files:
|
77
|
+
- History.txt
|
78
|
+
- Manifest.txt
|
79
|
+
- README.txt
|
80
|
+
- Rakefile
|
81
|
+
- bin/scandb
|
82
|
+
- lib/scandb/exceptions/invalid_database_config.rb
|
83
|
+
- lib/scandb/exceptions.rb
|
84
|
+
- lib/scandb/config.rb
|
85
|
+
- lib/scandb/database.rb
|
86
|
+
- lib/scandb/model.rb
|
87
|
+
- lib/scandb/port.rb
|
88
|
+
- lib/scandb/service.rb
|
89
|
+
- lib/scandb/scanned_port.rb
|
90
|
+
- lib/scandb/os.rb
|
91
|
+
- lib/scandb/os_guess.rb
|
92
|
+
- lib/scandb/host_name.rb
|
93
|
+
- lib/scandb/host.rb
|
94
|
+
- lib/scandb/nmap.rb
|
95
|
+
- lib/scandb/runner.rb
|
96
|
+
- lib/scandb/scandb.rb
|
97
|
+
- lib/scandb/version.rb
|
98
|
+
- lib/scandb.rb
|
99
|
+
has_rdoc: true
|
100
|
+
homepage: http://rubyforge.org/projects/scandb/
|
101
|
+
post_install_message:
|
102
|
+
rdoc_options:
|
103
|
+
- --main
|
104
|
+
- README.txt
|
105
|
+
require_paths:
|
106
|
+
- lib
|
107
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: "0"
|
112
|
+
version:
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: "0"
|
118
|
+
version:
|
119
|
+
requirements: []
|
120
|
+
|
121
|
+
rubyforge_project: scandb
|
122
|
+
rubygems_version: 1.2.0
|
123
|
+
signing_key:
|
124
|
+
specification_version: 2
|
125
|
+
summary: ScanDB is a library for importing and analyzing information generated by various network scanning utilities.
|
126
|
+
test_files: []
|
127
|
+
|