netdisco 0.0.7 → 0.0.8
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.
- 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
|