netdisco 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/netdisco/cli.rb +1 -1
- data/lib/netdisco/dns.rb +1 -0
- data/lib/netdisco/method/cdp.rb +9 -9
- data/lib/netdisco/method/xdp.rb +0 -1
- data/lib/netdisco/name_map.rb +7 -0
- data/lib/netdisco/snmp.rb +5 -3
- data/lib/netdisco/version.rb +1 -1
- data/lib/netdisco.rb +2 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 16f405c4657e51cf5421806990865bd05c46bc2a887e7ac022897f643449879a
|
4
|
+
data.tar.gz: 801394ad4dfcea976618f1f5b3af828037ee15e2aef7c4ccc93d93cacd6e6ccc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2838bd2e666ebc42f955cff1237f7c10bd498a6b465fa17cfd2598de86916a529af9b2aa403f5ebf62222edc885df38a2b2f926dc86628504215928755cf78cf
|
7
|
+
data.tar.gz: 933cb0a3bac7681e1ce452817ec02317565eddefdd3e631a4c08da13fa1573854b26af7ee027501ac1adf31fba2a298e99c2eb71efe8dcce54aa13de8633b2e9
|
data/lib/netdisco/cli.rb
CHANGED
data/lib/netdisco/dns.rb
CHANGED
data/lib/netdisco/method/cdp.rb
CHANGED
@@ -18,16 +18,16 @@ class Netdisco
|
|
18
18
|
def make_peers
|
19
19
|
peers = []
|
20
20
|
@mib.by_oid(PEERS_BY).each do |_, vb|
|
21
|
-
peer
|
22
|
-
peer_id
|
23
|
-
peer.oid
|
24
|
-
peer.raw_ip
|
21
|
+
peer = Peer.new
|
22
|
+
peer_id = vb.oid_id(PEERS_BY)
|
23
|
+
peer.oid = get_oid_hash(peer_id)
|
24
|
+
peer.raw_ip = @mib[OID[:cdpCacheAddress], peer_id].as_ip rescue peer.ip
|
25
25
|
peer.raw_name = @mib[OID[:cdpCacheDeviceId], peer_id].value
|
26
|
-
|
27
|
-
peer.
|
28
|
-
peer.src
|
29
|
-
peer.
|
30
|
-
peer.raw_ip
|
26
|
+
# 修正设备命名
|
27
|
+
peer.ip = get_ip(peer.raw_ip, peer.raw_name)
|
28
|
+
peer.src = @mib[OID[:cdpInterfaceName], peer_id.first].value rescue nil
|
29
|
+
peer.dst = @mib[OID[:cdpCacheDevicePort], peer_id].value rescue nil
|
30
|
+
# peer.raw_ip = @mib[OID[:cdpCacheAddress], peer_id].value
|
31
31
|
peers << peer
|
32
32
|
end
|
33
33
|
peers
|
data/lib/netdisco/method/xdp.rb
CHANGED
data/lib/netdisco/name_map.rb
CHANGED
@@ -4,6 +4,13 @@ class Netdisco
|
|
4
4
|
module NameMap
|
5
5
|
def name_map(origin_name)
|
6
6
|
name = origin_name.dup
|
7
|
+
# 早期异常拦截
|
8
|
+
if name.nil?
|
9
|
+
Log.debug "Netdisco name_map origin_name is nil"
|
10
|
+
return nil
|
11
|
+
end
|
12
|
+
|
13
|
+
# 字典替换
|
7
14
|
CFG.name_map.each do |match, replace|
|
8
15
|
re = Regexp.new match
|
9
16
|
name = name.sub re, replace
|
data/lib/netdisco/snmp.rb
CHANGED
@@ -44,14 +44,16 @@ class Netdisco
|
|
44
44
|
# 初始化变量
|
45
45
|
last, oid, results = false, root.dup, []
|
46
46
|
# 将点分10进制字串转换为数组对象
|
47
|
-
root = root.split(".").map { |chr| chr.to_i }
|
47
|
+
# root = root.split(".").map { |chr| chr.to_i }
|
48
|
+
|
48
49
|
# 遍历 root_oid
|
49
50
|
until last
|
50
51
|
vbs = snmp(:get_bulk, 0, CFG.snmp.bulkrows, oid).varbind_list
|
51
52
|
vbs.each do |vb|
|
52
|
-
oid = vb.
|
53
|
+
oid = vb.name.to_str
|
53
54
|
# 解析到的 oid 不匹配 root 跳出循环
|
54
|
-
(last = true; break) unless oid
|
55
|
+
(last = true; break) unless oid.match?(/^#{Regexp.quote(root)}/)
|
56
|
+
# (last = true; break) unless oid[0..root.size - 1] == root
|
55
57
|
results << vb
|
56
58
|
end
|
57
59
|
end
|
data/lib/netdisco/version.rb
CHANGED
data/lib/netdisco.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: netdisco
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- WENWU.YAN
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-04-
|
11
|
+
date: 2022-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: snmp
|