network-utility 1.1.53 → 1.1.55

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 353999d381270ece615cf01830143c105ef75469802df048ee3e0fffb99c7b42
4
- data.tar.gz: 94e617634cf505b4bdbabfb864f62a6d42abcc02c456897675e5756ba609ac05
3
+ metadata.gz: afe54f51c35693417b60963bca704bf98dfbea6edc2f307436d3efac387c1dcb
4
+ data.tar.gz: 2400d7b9ac39b26c17b4763569c1ef08328bb656a1c3ef28da43b7ad1f86b0ae
5
5
  SHA512:
6
- metadata.gz: 44de9f2fe307beb1e4bbd31080ae0b52d77066a497253bb03025c5b1e94a6c88a746bcce5ee8cfc1f9498f96956ab46ace1655e7c4e01e308371574532ae42fa
7
- data.tar.gz: e386417d483326082063e4c62e83d5f2b493623b1048916903a1ace50254c0f728091b2d68619321353e1aa0b47158a808917814abf64cc4dfaad387a261e1ca
6
+ metadata.gz: ebcdf21101d347a2610b94bd4826beb16bea84b5e5c30042f778d82dedb0022eb7150a8710fbb0428033228c288ed177d653f996a996522f8a078a68513e61d6
7
+ data.tar.gz: f6c5eda9a587d1f8676d05edbb589bd31c64a2fb454537f2c7564fd355a843fa2ca5dbef43524ac9c75d3452ba1eede9817223aeb7f0002c56c23f7509ed2742
data/document/telnet.md CHANGED
@@ -296,6 +296,35 @@ module T8000_18
296
296
  end
297
297
  ```
298
298
 
299
+ ```ruby
300
+ @sign << ['ZXCTN9000-8EA', 'telnet']
301
+
302
+ module ZXCTN9000_8EA
303
+ def setting
304
+ @selectors = {
305
+ " --More--"=>' ',
306
+ "!</if-intf>"=>'%ruby sleep 1', # HCBSJ
307
+ "$\n$"=>'%ruby sleep 1', # HCBSJ
308
+ }
309
+ @erasers << " --More--" << "\x08 \x08"
310
+ end
311
+ end
312
+ ```
313
+ ```ruby
314
+ @sign << ['ZXCTN9000-18EA', 'telnet']
315
+
316
+ module ZXCTN9000_18EA
317
+ def setting
318
+ @selectors = {
319
+ " --More--"=>' ',
320
+ "!</if-intf>"=>'%ruby sleep 1', # HCBSJ
321
+ "$\n$"=>'%ruby sleep 1', # HCBSJ
322
+ }
323
+ @erasers << " --More--" << "\x08 \x08"
324
+ end
325
+ end
326
+ ```
327
+
299
328
  ## 华三
300
329
 
301
330
  ```ruby
data/network.rb CHANGED
@@ -6,6 +6,7 @@
6
6
  'mac_address',
7
7
  'netmerge',
8
8
  'route',
9
+ 'asnum',
9
10
  'whitelist'
10
11
  ].each{|mod|require "utility/#{mod}"}
11
12
 
@@ -22,5 +23,5 @@
22
23
  ].each{|mod|require mod}
23
24
 
24
25
  module Network
25
- VERSION = '1.1.52'
26
+ VERSION = '1.1.55'
26
27
  end
data/utility/asnum.rb ADDED
@@ -0,0 +1,62 @@
1
+ #coding:utf-8
2
+
3
+ =begin # MD
4
+ << 16位AS号(2字节,传统)>>
5
+
6
+ | 类型 | 范围 | 说明 |
7
+ | --------- | ----------------- | --------------------------- |
8
+ | **公有AS号** | **1 – 64511** | 全球互联网可路由,需向RIR(区域互联网注册机构)申请 |
9
+ | **私有AS号** | **64512 – 65534** | 仅用于内部网络,不可通告到公网 |
10
+ | **保留** | 65535 | 保留用于文档和特殊用途 |
11
+
12
+ 特殊保留:AS 0(保留)、AS 23456(AS_TRANS,用于16位与32位互通过渡)
13
+
14
+ << 32位AS号(4字节,RFC 4893/6793)>>
15
+
16
+ | 类型 | 范围 | 说明 |
17
+ | --------- | --------------------------------- | ------------- |
18
+ | **公有AS号** | **65536 – 4,199,999,999** | 全球可路由(约42亿个) |
19
+ | **私有AS号** | **4,200,000,000 – 4,294,967,294** | 内部使用(约9500万个) |
20
+ | **保留** | 4,294,967,295 | 保留(相当于32位全1) |
21
+ =end
22
+
23
+ class String
24
+ def is_public_as?
25
+ if !self.match(/^\d+\.{0,1}\d+$/)
26
+ return "Invalid AS number #{self}"
27
+ elsif self.include?('.')
28
+ left,right = self.split('.')
29
+ num = eval("0b"+[left.to_i,right.to_i].map{|n|"%016b" % n}.join(''))
30
+ return true if num.between?(65536,4199999999)
31
+ else
32
+ return true if self.to_i.between?(1,64511)
33
+ end
34
+ return false
35
+ end
36
+
37
+ def is_private_as?
38
+ if !self.match(/^\d+\.{0,1}\d+$/)
39
+ return "Invalid AS number #{self}"
40
+ elsif self.include?('.')
41
+ left,right = self.split('.')
42
+ num = eval("0b"+[left.to_i,right.to_i].map{|n|"%016b" % n}.join(''))
43
+ return true if num.between?(4_200_000_000, 4_294_967_294)
44
+ else
45
+ return true if self.to_i.between?(64512,65534)
46
+ end
47
+ return false
48
+ end
49
+
50
+ def is_reserved_as?
51
+ if !self.match(/^\d+\.{0,1}\d+$/)
52
+ return "Invalid AS number #{self}"
53
+ elsif self.include?('.')
54
+ left,right = self.split('.')
55
+ num = eval("0b"+[left.to_i,right.to_i].map{|n|"%016b" % n}.join(''))
56
+ return true if num==4_294_967_295
57
+ else
58
+ return true if [0,23456].include?(self.to_i)
59
+ end
60
+ return false
61
+ end
62
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: network-utility
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.53
4
+ version: 1.1.55
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt
@@ -258,6 +258,7 @@ files:
258
258
  - document/vpn-ZXCTN9000-8EA.md
259
259
  - network.rb
260
260
  - support/snmp.rb
261
+ - utility/asnum.rb
261
262
  - utility/ipv4_address.rb
262
263
  - utility/ipv6_address.rb
263
264
  - utility/mac_address.rb
@@ -282,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
282
283
  - !ruby/object:Gem::Version
283
284
  version: '0'
284
285
  requirements: []
285
- rubygems_version: 3.6.9
286
+ rubygems_version: 4.0.8
286
287
  specification_version: 4
287
288
  summary: core
288
289
  test_files: []