snmpdumper 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README +2 -1
- data/lib/{options.rb → config.rb} +4 -2
- data/lib/runner.rb +14 -8
- data/lib/snmpwalk_reader.rb +2 -2
- metadata +6 -25
data/README
CHANGED
@@ -3,7 +3,7 @@ require 'ostruct'
|
|
3
3
|
require 'pp'
|
4
4
|
|
5
5
|
module SnmpDumper
|
6
|
-
class
|
6
|
+
class Config
|
7
7
|
SNMP_VERSIONS = {"1" => :SNMPv1, "2c" => :SNMPv2c, "3" => :SNMPv3}
|
8
8
|
DEFAULT_PORT = 161
|
9
9
|
|
@@ -181,6 +181,9 @@ module SnmpDumper
|
|
181
181
|
|
182
182
|
begin
|
183
183
|
opts.parse!(argv)
|
184
|
+
|
185
|
+
raise NotImplementedError.new("SNMPv3 not yet implemented by snmplib") if @options.version == :SNMPv3
|
186
|
+
|
184
187
|
raise OptionParser::MissingArgument.new("Please provide AUTH and PRIVACY passphrase") if
|
185
188
|
@options.version == :SNMPv3 &&
|
186
189
|
(@options.auth_passphrase.nil? || @options.privacy_passphrase.nil?)
|
@@ -197,7 +200,6 @@ module SnmpDumper
|
|
197
200
|
exit(-1)
|
198
201
|
end
|
199
202
|
|
200
|
-
|
201
203
|
end #OptionParser.new
|
202
204
|
|
203
205
|
end #parse(argv)
|
data/lib/runner.rb
CHANGED
@@ -1,30 +1,36 @@
|
|
1
1
|
require 'walker'
|
2
2
|
require 'snmpwalk_reader'
|
3
|
-
require '
|
3
|
+
require 'config'
|
4
4
|
|
5
5
|
Dir.glob(File.join(File.dirname(__FILE__), 'dumper/*.rb')).each {|f| require f }
|
6
6
|
|
7
7
|
module SnmpDumper
|
8
8
|
class Runner
|
9
9
|
def initialize(argv)
|
10
|
-
|
10
|
+
begin
|
11
|
+
@config = Config.new(argv)
|
12
|
+
rescue Exception => e
|
13
|
+
STDERR.puts e.message
|
14
|
+
STDERR.puts e.backtrace.join("\n") if $DEBUG
|
15
|
+
exit(-1)
|
16
|
+
end
|
11
17
|
end
|
12
18
|
|
13
19
|
def run
|
14
20
|
begin
|
15
21
|
## interactive shell?
|
16
|
-
if !$stdin.tty? || @
|
17
|
-
walker = SnmpwalkReader.new(@
|
22
|
+
if !$stdin.tty? || @config.options.in_filename then
|
23
|
+
walker = SnmpwalkReader.new(@config.options)
|
18
24
|
else
|
19
|
-
walker = Walker.new(@
|
25
|
+
walker = Walker.new(@config.options)
|
20
26
|
end
|
21
27
|
|
22
|
-
dumper = SnmpDumper.const_get(@
|
28
|
+
dumper = SnmpDumper.const_get(@config.options.dumper)::new(@config.options)
|
23
29
|
|
24
30
|
walker.walk(dumper)
|
25
31
|
|
26
|
-
if @
|
27
|
-
File.open(@
|
32
|
+
if @config.options.out_filename
|
33
|
+
File.open(@config.options.out_filename, 'w') { |f| f.write(dumper.dump) }
|
28
34
|
else
|
29
35
|
puts dumper.dump
|
30
36
|
end
|
data/lib/snmpwalk_reader.rb
CHANGED
@@ -17,7 +17,7 @@ module SnmpDumper
|
|
17
17
|
raise value if Regexp.last_match(0).nil?
|
18
18
|
SNMP::TimeTicks.new(Integer(Regexp.last_match(1)))
|
19
19
|
}, "INTEGER" => lambda { |value|
|
20
|
-
/^(.*\()*(\d+)
|
20
|
+
/^(.*\()*(\d+).*$/ =~ value
|
21
21
|
return nil if Regexp.last_match(0).nil?
|
22
22
|
SNMP::Integer.new(Integer(Regexp.last_match(2)))
|
23
23
|
},
|
@@ -70,7 +70,7 @@ module SnmpDumper
|
|
70
70
|
#{line}\n
|
71
71
|
Format for input:\n
|
72
72
|
<numerical oid> = <Type>: <value>\n
|
73
|
-
Example: .1.3.6.1.2.1.1.1.0 = STRING: Linux
|
73
|
+
Example: .1.3.6.1.2.1.1.1.0 = STRING: Linux lom0.taa-edu.local 2.6.17.6 #1 SMP Thu Mar 8 15:32:13 CET 2007 i686\n
|
74
74
|
snmpwalk command example: snmpwalk -v 3 -u user -A PW -X PW -a MD5 -x DES -l authPriv -On -Oa 192.168.1.1" unless @options.force
|
75
75
|
end
|
76
76
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snmpdumper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian de Castelberg
|
@@ -9,30 +9,11 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2010-01-22 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
|
-
dependencies:
|
15
|
-
|
16
|
-
|
17
|
-
type: :runtime
|
18
|
-
version_requirement:
|
19
|
-
version_requirements: !ruby/object:Gem::Requirement
|
20
|
-
requirements:
|
21
|
-
- - "="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.0.2
|
24
|
-
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: builder
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 2.1.2
|
34
|
-
version:
|
35
|
-
description: Dump snmp walks in various formats
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: ""
|
36
17
|
email: snmpdumper@kpricorn.org
|
37
18
|
executables:
|
38
19
|
- snmpdumper
|
@@ -44,9 +25,9 @@ files:
|
|
44
25
|
- README
|
45
26
|
- LICENSE
|
46
27
|
- bin/snmpdumper
|
28
|
+
- lib/config.rb
|
47
29
|
- lib/dumper/jalasoft_dumper.rb
|
48
30
|
- lib/dumper/simple_text_dumper.rb
|
49
|
-
- lib/options.rb
|
50
31
|
- lib/runner.rb
|
51
32
|
- lib/snmpwalk_reader.rb
|
52
33
|
- lib/walker.rb
|