network-utility 1.1.4
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 +7 -0
- data/README.md +2 -0
- data/document/acl-M6000-16E.md +27 -0
- data/document/acl-M6000-18S.md +27 -0
- data/document/acl-M6000-8.md +27 -0
- data/document/acl-M6000-8E.md +27 -0
- data/document/acl-MA5200G-8.md +204 -0
- data/document/acl-ME60-16.md +177 -0
- data/document/acl-ME60-X16.md +177 -0
- data/document/acl-NE40E-X16.md +204 -0
- data/document/acl-NE40E-X16A.md +204 -0
- data/document/acl-NE40E-X8.md +204 -0
- data/document/acl-NE40E.md +204 -0
- data/document/acl-NE5000E-20.md +25 -0
- data/document/acl-NE5000E-X16.md +25 -0
- data/document/acl-NE5000E-X16A.md +25 -0
- data/document/acl-NE80E.md +204 -0
- data/document/bgp-CR16010H-F.md +25 -0
- data/document/bgp-CR16018-F.md +25 -0
- data/document/bgp-CR19000-20.md +25 -0
- data/document/bgp-M6000-16E.md +25 -0
- data/document/bgp-M6000-18S.md +25 -0
- data/document/bgp-M6000-8.md +25 -0
- data/document/bgp-M6000-8E.md +25 -0
- data/document/bgp-MA5200G-8.md +25 -0
- data/document/bgp-ME60-16.md +25 -0
- data/document/bgp-ME60-X16.md +25 -0
- data/document/bgp-NE40E-X16.md +25 -0
- data/document/bgp-NE40E-X16A.md +25 -0
- data/document/bgp-NE40E-X8.md +25 -0
- data/document/bgp-NE40E.md +25 -0
- data/document/bgp-NE5000E-20.md +25 -0
- data/document/bgp-NE5000E-X16.md +25 -0
- data/document/bgp-NE5000E-X16A.md +25 -0
- data/document/bgp-NE80E.md +25 -0
- data/document/config.md +1153 -0
- data/document/document.rb +27 -0
- data/document/if-ALCATEL7750.md +48 -0
- data/document/if-C7609.md +47 -0
- data/document/if-CR16010H-F.md +300 -0
- data/document/if-CR16018-F.md +300 -0
- data/document/if-CR19000-20.md +300 -0
- data/document/if-CRS-16.md +47 -0
- data/document/if-CX600-X16A.md +349 -0
- data/document/if-CX600-X8A.md +349 -0
- data/document/if-M6000-16E.md +652 -0
- data/document/if-M6000-18S.md +846 -0
- data/document/if-M6000-8.md +653 -0
- data/document/if-M6000-8E.md +653 -0
- data/document/if-MA5200G-8.md +357 -0
- data/document/if-ME60-16.md +357 -0
- data/document/if-ME60-X16.md +357 -0
- data/document/if-NE40E-X16.md +357 -0
- data/document/if-NE40E-X16A.md +357 -0
- data/document/if-NE40E-X8.md +357 -0
- data/document/if-NE40E.md +357 -0
- data/document/if-NE5000E-20.md +357 -0
- data/document/if-NE5000E-X16.md +357 -0
- data/document/if-NE5000E-X16A.md +357 -0
- data/document/if-NE8000E-X8.md +357 -0
- data/document/if-NE80E.md +357 -0
- data/document/if-NE8100-X8.md +357 -0
- data/document/if-Nokia7750.md +48 -0
- data/document/if-T8000-18.md +653 -0
- data/document/if-V6000.md +663 -0
- data/document/if-VNE9000.md +357 -0
- data/document/if-ZXCTN9000-18EA.md +762 -0
- data/document/if-ZXCTN9000-8EA.md +762 -0
- data/document/lic-M6000-16E.md +28 -0
- data/document/lic-M6000-18S.md +28 -0
- data/document/lic-M6000-8.md +28 -0
- data/document/lic-M6000-8E.md +28 -0
- data/document/lic-MA5200G-8.md +27 -0
- data/document/lic-ME60-16.md +27 -0
- data/document/lic-ME60-X16.md +27 -0
- data/document/lic-NE40E-X16.md +27 -0
- data/document/lic-NE40E-X16A.md +27 -0
- data/document/lic-NE40E-X8.md +27 -0
- data/document/log-M6000-16E.md +36 -0
- data/document/log-M6000-18S.md +36 -0
- data/document/log-M6000-8.md +36 -0
- data/document/log-M6000-8E.md +36 -0
- data/document/log-MA5200G-8.md +61 -0
- data/document/log-ME60-16.md +61 -0
- data/document/log-ME60-X16.md +61 -0
- data/document/log-NE40E-X16.md +61 -0
- data/document/log-NE40E-X16A.md +61 -0
- data/document/log-NE40E-X8.md +61 -0
- data/document/log-NE40E.md +61 -0
- data/document/log-NE5000E-20.md +61 -0
- data/document/log-NE5000E-X16.md +61 -0
- data/document/log-NE5000E-X16A.md +61 -0
- data/document/log-NE80E.md +61 -0
- data/document/nat-CR16010H-F.md +27 -0
- data/document/nat-CR16018-F.md +27 -0
- data/document/nat-M6000-16E.md +27 -0
- data/document/nat-M6000-18S.md +27 -0
- data/document/nat-M6000-8.md +27 -0
- data/document/nat-M6000-8E.md +27 -0
- data/document/nat-ME60-16.md +44 -0
- data/document/nat-ME60-X16.md +44 -0
- data/document/nat-NE40E-X16.md +44 -0
- data/document/nat-NE40E-X16A.md +44 -0
- data/document/policy-M6000-16E.md +13 -0
- data/document/policy-M6000-18S.md +13 -0
- data/document/policy-M6000-8.md +13 -0
- data/document/policy-M6000-8E.md +13 -0
- data/document/policy-MA5200G-8.md +87 -0
- data/document/policy-ME60-16.md +87 -0
- data/document/policy-ME60-X16.md +87 -0
- data/document/policy-NE40E-X16.md +87 -0
- data/document/policy-NE40E-X16A.md +87 -0
- data/document/policy-NE40E-X8.md +87 -0
- data/document/policy-NE40E.md +87 -0
- data/document/policy-NE5000E-20.md +87 -0
- data/document/policy-NE5000E-X16.md +87 -0
- data/document/policy-NE5000E-X16A.md +87 -0
- data/document/policy-NE80E.md +87 -0
- data/document/pool-M6000-16E.md +126 -0
- data/document/pool-M6000-18S.md +126 -0
- data/document/pool-M6000-8.md +126 -0
- data/document/pool-M6000-8E.md +126 -0
- data/document/pool-MA5200G-8.md +138 -0
- data/document/pool-ME60-16.md +138 -0
- data/document/pool-ME60-X16.md +138 -0
- data/document/pool-NE40E-X16.md +138 -0
- data/document/pool-NE40E-X16A.md +138 -0
- data/document/pool-NE40E-X8.md +138 -0
- data/document/pool-NE40E.md +138 -0
- data/document/pool-NE80E.md +138 -0
- data/document/static-CR16010H-F.md +60 -0
- data/document/static-CR16018-F.md +60 -0
- data/document/static-CR19000-20.md +60 -0
- data/document/static-CX600-X16A.md +26 -0
- data/document/static-CX600-X8A.md +26 -0
- data/document/static-M6000-16E.md +104 -0
- data/document/static-M6000-18S.md +104 -0
- data/document/static-M6000-8.md +104 -0
- data/document/static-M6000-8E.md +104 -0
- data/document/static-MA5200G-8.md +82 -0
- data/document/static-ME60-16.md +82 -0
- data/document/static-ME60-X16.md +82 -0
- data/document/static-NE40E-X16.md +82 -0
- data/document/static-NE40E-X16A.md +81 -0
- data/document/static-NE40E-X8.md +82 -0
- data/document/static-NE40E.md +67 -0
- data/document/static-NE5000E-20.md +67 -0
- data/document/static-NE5000E-X16.md +67 -0
- data/document/static-NE5000E-X16A.md +67 -0
- data/document/static-NE8000E-X8.md +26 -0
- data/document/static-NE80E.md +67 -0
- data/document/static-NE8100-X8.md +26 -0
- data/document/static-T8000-18.md +34 -0
- data/document/static-ZXCTN9000-18EA.md +34 -0
- data/document/static-ZXCTN9000-8EA.md +34 -0
- data/document/system-M6000-16E.md +75 -0
- data/document/system-M6000-18S.md +76 -0
- data/document/system-M6000-8.md +75 -0
- data/document/system-M6000-8E.md +75 -0
- data/document/system-MA5200G-8.md +51 -0
- data/document/system-ME60-16.md +51 -0
- data/document/system-ME60-X16.md +51 -0
- data/document/system-NE40E-X16.md +51 -0
- data/document/system-NE40E-X16A.md +51 -0
- data/document/system-NE40E-X8.md +51 -0
- data/document/system-NE40E.md +51 -0
- data/document/system-NE5000E-20.md +51 -0
- data/document/system-NE5000E-X16.md +51 -0
- data/document/system-NE5000E-X16A.md +51 -0
- data/document/system-NE80E.md +51 -0
- data/document/telnet.md +332 -0
- data/network.rb +24 -0
- data/utility/ipv4_address.rb +266 -0
- data/utility/ipv6_address.rb +201 -0
- data/utility/mac_address.rb +77 -0
- data/utility/netmerge.rb +46 -0
- data/utility/route.rb +79 -0
- data/utility/whitelist.rb +21 -0
- metadata +258 -0
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
# NE5000E-20 系统信息
|
3
|
+
|
4
|
+
```ruby
|
5
|
+
@sign << ['NE5000E-20', '系统版本']
|
6
|
+
@sign << ['NE5000E-20', '版本']
|
7
|
+
@sign << ['NE5000E-20', '补丁']
|
8
|
+
@sign << ['NE5000E-20', '板卡']
|
9
|
+
|
10
|
+
module NE5000E_20
|
11
|
+
module_function
|
12
|
+
|
13
|
+
def 系统版本 文本
|
14
|
+
info = {}
|
15
|
+
info['version'] = 版本 文本
|
16
|
+
info['patch'] = 补丁 文本
|
17
|
+
info['board'] = 板卡 文本
|
18
|
+
return info
|
19
|
+
end
|
20
|
+
|
21
|
+
def 版本 文本
|
22
|
+
vrp = 文本.split("\n").find{|l|l.include?("VRP")}
|
23
|
+
end
|
24
|
+
|
25
|
+
def 补丁 文本
|
26
|
+
patch = 文本.split("\n").find{|l|l.include?("Patch version")}.to_s.split(":")[-1]
|
27
|
+
end
|
28
|
+
|
29
|
+
def 板卡 文本
|
30
|
+
head = ['Slot','Type','Online','Register','Status','Role','LsId','Primary'] + ['Pic','Status','Type','Port_count','Init_result','Logic_down']
|
31
|
+
raw1 = 文本.split("NE5000E's Device status:")[-1].split("\n<")[0].split("\n-------------------------------------------------------------------------------")[2].strip
|
32
|
+
tab1 = raw1.split("\n").map{|l|l.split(" ")}
|
33
|
+
raw2 = 文本.split("Pic-status information :")[-1].split("\n<")[0].split("\n-------------------------------------------------------------------------------")[2].strip
|
34
|
+
tab2 = raw2.split("\n").map{|l|l.split(" ")}[1..-1]
|
35
|
+
tab = [head]
|
36
|
+
tab1.each do|rec|
|
37
|
+
ext = tab2.select{|r|r[0].split("/")[0]==rec[0]}
|
38
|
+
if ext.size==0
|
39
|
+
tmp = rec + ['','','','','','']
|
40
|
+
tab << tmp
|
41
|
+
else
|
42
|
+
ext.each do|r|
|
43
|
+
tmp = rec + r[0..-1]
|
44
|
+
tab << tmp
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
return tab
|
49
|
+
end
|
50
|
+
end
|
51
|
+
```
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
# NE5000E-X16 系统信息
|
3
|
+
|
4
|
+
```ruby
|
5
|
+
@sign << ['NE5000E-X16', '系统版本']
|
6
|
+
@sign << ['NE5000E-X16', '版本']
|
7
|
+
@sign << ['NE5000E-X16', '补丁']
|
8
|
+
@sign << ['NE5000E-X16', '板卡']
|
9
|
+
|
10
|
+
module NE5000E_X16
|
11
|
+
module_function
|
12
|
+
|
13
|
+
def 系统版本 文本
|
14
|
+
info = {}
|
15
|
+
info['version'] = 版本 文本
|
16
|
+
info['patch'] = 补丁 文本
|
17
|
+
info['board'] = 板卡 文本
|
18
|
+
return info
|
19
|
+
end
|
20
|
+
|
21
|
+
def 版本 文本
|
22
|
+
vrp = 文本.split("\n").find{|l|l.include?("VRP")}
|
23
|
+
end
|
24
|
+
|
25
|
+
def 补丁 文本
|
26
|
+
patch = 文本.split("\n").find{|l|l.include?("Patch version")}.to_s.split(":")[-1]
|
27
|
+
end
|
28
|
+
|
29
|
+
def 板卡 文本
|
30
|
+
head = ['Slot','Type','Online','Register','Status','Role','LsId','Primary'] + ['Pic','Status','Type','Port_count','Init_result','Logic_down']
|
31
|
+
raw1 = 文本.split("NE5000E's Device status:")[-1].split("\n<")[0].split("\n-------------------------------------------------------------------------------")[2].strip
|
32
|
+
tab1 = raw1.split("\n").map{|l|l.split(" ")}
|
33
|
+
raw2 = 文本.split("Pic-status information :")[-1].split("\n<")[0].split("\n-------------------------------------------------------------------------------")[2].strip
|
34
|
+
tab2 = raw2.split("\n").map{|l|l.split(" ")}[1..-1]
|
35
|
+
tab = [head]
|
36
|
+
tab1.each do|rec|
|
37
|
+
ext = tab2.select{|r|r[0].split("/")[0]==rec[0]}
|
38
|
+
if ext.size==0
|
39
|
+
tmp = rec + ['','','','','','']
|
40
|
+
tab << tmp
|
41
|
+
else
|
42
|
+
ext.each do|r|
|
43
|
+
tmp = rec + r[0..-1]
|
44
|
+
tab << tmp
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
return tab
|
49
|
+
end
|
50
|
+
end
|
51
|
+
```
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
# NE5000E-X16A 系统信息
|
3
|
+
|
4
|
+
```ruby
|
5
|
+
@sign << ['NE5000E-X16A', '系统版本']
|
6
|
+
@sign << ['NE5000E-X16A', '版本']
|
7
|
+
@sign << ['NE5000E-X16A', '补丁']
|
8
|
+
@sign << ['NE5000E-X16A', '板卡']
|
9
|
+
|
10
|
+
module NE5000E_X16A
|
11
|
+
module_function
|
12
|
+
|
13
|
+
def 系统版本 文本
|
14
|
+
info = {}
|
15
|
+
info['version'] = 版本 文本
|
16
|
+
info['patch'] = 补丁 文本
|
17
|
+
info['board'] = 板卡 文本
|
18
|
+
return info
|
19
|
+
end
|
20
|
+
|
21
|
+
def 版本 文本
|
22
|
+
vrp = 文本.split("\n").find{|l|l.include?("VRP")}
|
23
|
+
end
|
24
|
+
|
25
|
+
def 补丁 文本
|
26
|
+
patch = 文本.split("\n").find{|l|l.include?("Patch version")}.to_s.split(":")[-1]
|
27
|
+
end
|
28
|
+
|
29
|
+
def 板卡 文本
|
30
|
+
head = ['Slot','Type','Online','Register','Status','Role','LsId','Primary'] + ['Pic','Status','Type','Port_count','Init_result','Logic_down']
|
31
|
+
raw1 = 文本.split("NE5000E's Device status:")[-1].split("\n<")[0].split("\n-------------------------------------------------------------------------------")[2].strip
|
32
|
+
tab1 = raw1.split("\n").map{|l|l.split(" ")}
|
33
|
+
raw2 = 文本.split("Pic-status information :")[-1].split("\n<")[0].split("\n-------------------------------------------------------------------------------")[2].strip
|
34
|
+
tab2 = raw2.split("\n").map{|l|l.split(" ")}[1..-1]
|
35
|
+
tab = [head]
|
36
|
+
tab1.each do|rec|
|
37
|
+
ext = tab2.select{|r|r[0].split("/")[0]==rec[0]}
|
38
|
+
if ext.size==0
|
39
|
+
tmp = rec + ['','','','','','']
|
40
|
+
tab << tmp
|
41
|
+
else
|
42
|
+
ext.each do|r|
|
43
|
+
tmp = rec + r[0..-1]
|
44
|
+
tab << tmp
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
return tab
|
49
|
+
end
|
50
|
+
end
|
51
|
+
```
|
@@ -0,0 +1,51 @@
|
|
1
|
+
|
2
|
+
# NE80E 系统信息
|
3
|
+
|
4
|
+
```ruby
|
5
|
+
@sign << ['NE80E', '系统版本']
|
6
|
+
@sign << ['NE80E', '版本']
|
7
|
+
@sign << ['NE80E', '补丁']
|
8
|
+
@sign << ['NE80E', '板卡']
|
9
|
+
|
10
|
+
module NE80E
|
11
|
+
module_function
|
12
|
+
|
13
|
+
def 系统版本 文本
|
14
|
+
info = {}
|
15
|
+
info['version'] = 版本 文本
|
16
|
+
info['patch'] = 补丁 文本
|
17
|
+
info['board'] = 板卡 文本
|
18
|
+
return info
|
19
|
+
end
|
20
|
+
|
21
|
+
def 版本 文本
|
22
|
+
vrp = 文本.split("\n").find{|l|l.include?("VRP")}
|
23
|
+
end
|
24
|
+
|
25
|
+
def 补丁 文本
|
26
|
+
patch = 文本.split("\n").find{|l|l.include?("Patch version")}.to_s.split(":")[-1]
|
27
|
+
end
|
28
|
+
|
29
|
+
def 板卡 文本
|
30
|
+
head = ['Slot','Type','Online','Register','Status','Primary'] + ['Pic','Status','Type','Port_count','Init_result','Logic_down']
|
31
|
+
raw1 = 文本.split("NE40E's Device status:")[-1].split("\n<")[0].split("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n")[1]
|
32
|
+
tab1 = raw1.split("\n").map{|l|l.split(" ")}
|
33
|
+
raw2 = 文本.split("Pic-status information in Chassis 1:")[-1].split("\n<")[0].split("\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -")[1].strip
|
34
|
+
tab2 = raw2.split("\n").map{|l|l.split(" ")}[1..-1]
|
35
|
+
tab = [head]
|
36
|
+
tab1.each do|rec|
|
37
|
+
ext = tab2.select{|r|r[0]==rec[0]}
|
38
|
+
if ext.size==0
|
39
|
+
tmp = rec + ['','','','','','']
|
40
|
+
tab << tmp
|
41
|
+
else
|
42
|
+
ext.each do|r|
|
43
|
+
tmp = rec + r[1..-1]
|
44
|
+
tab << tmp
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
return tab
|
49
|
+
end
|
50
|
+
end
|
51
|
+
```
|
data/document/telnet.md
ADDED
@@ -0,0 +1,332 @@
|
|
1
|
+
|
2
|
+
# telnet扩展
|
3
|
+
|
4
|
+
## 通用
|
5
|
+
|
6
|
+
```ruby
|
7
|
+
@sign << ['ORIGINAL', 'telnet']
|
8
|
+
|
9
|
+
module ORIGINAL
|
10
|
+
def setting
|
11
|
+
@selectors = {" ---- More ----"=>' ', "Press any key to continue (Q to quit)"=>' ', "Are you sure to display some information?(Y/N)[Y]:"=>'y', " --More--"=>' ',"!</if-intf>"=>'%ruby sleep 1'}
|
12
|
+
@erasers << "[16D [16D" << " \x1b[1D" << "[16D [16D" << "[42D [42D" << " \x1b[1D" << "[16D [16D" << " --More--" << " " << "Press any key to continue (Q to quit)"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
```
|
16
|
+
|
17
|
+
## 阿朗7750
|
18
|
+
|
19
|
+
```ruby
|
20
|
+
@sign << ['ALCATEL7750', 'telnet']
|
21
|
+
|
22
|
+
module ALCATEL7750
|
23
|
+
def setting
|
24
|
+
@selectors = {"Press any key to continue (Q to quit)"=>' '}
|
25
|
+
@erasers << "Press any key to continue (Q to quit)"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
```
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
@sign << ['Nokia7750', 'telnet']
|
32
|
+
|
33
|
+
module Nokia7750
|
34
|
+
def setting
|
35
|
+
@selectors = {"Press any key to continue (Q to quit)"=>' '}
|
36
|
+
@erasers << "Press any key to continue (Q to quit)"
|
37
|
+
end
|
38
|
+
end
|
39
|
+
```
|
40
|
+
|
41
|
+
## 思科7609
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
@sign << ['C7609', 'telnet']
|
45
|
+
|
46
|
+
module C7609
|
47
|
+
def setting
|
48
|
+
@selectors = {" --More--"=>' '}
|
49
|
+
@erasers << " --More--" << " " << ""
|
50
|
+
end
|
51
|
+
end
|
52
|
+
```
|
53
|
+
|
54
|
+
## 思科CRS-16
|
55
|
+
|
56
|
+
```ruby
|
57
|
+
@sign << ['CRS-16', 'telnet']
|
58
|
+
|
59
|
+
module CRS_16
|
60
|
+
def setting
|
61
|
+
@selectors = {" --More--"=>' '}
|
62
|
+
@erasers << " --More--" << " " << ""
|
63
|
+
end
|
64
|
+
end
|
65
|
+
```
|
66
|
+
|
67
|
+
## 华为
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
@sign << ['CX600-X8A', 'telnet']
|
71
|
+
|
72
|
+
module CX600_X8A
|
73
|
+
def setting
|
74
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
75
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
76
|
+
end
|
77
|
+
end
|
78
|
+
```
|
79
|
+
|
80
|
+
```ruby
|
81
|
+
@sign << ['CX600-X16A', 'telnet']
|
82
|
+
|
83
|
+
module CX600_X16A
|
84
|
+
def setting
|
85
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
86
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
87
|
+
end
|
88
|
+
end
|
89
|
+
```
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
@sign << ['MA5200G-8', 'telnet']
|
93
|
+
|
94
|
+
module MA5200G_8
|
95
|
+
def setting
|
96
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
97
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
98
|
+
end
|
99
|
+
end
|
100
|
+
```
|
101
|
+
|
102
|
+
```ruby
|
103
|
+
@sign << ['ME60-16', 'telnet']
|
104
|
+
|
105
|
+
module ME60_16
|
106
|
+
def setting
|
107
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
108
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
109
|
+
end
|
110
|
+
end
|
111
|
+
```
|
112
|
+
|
113
|
+
```ruby
|
114
|
+
@sign << ['ME60-X16', 'telnet']
|
115
|
+
|
116
|
+
module ME60_X16
|
117
|
+
def setting
|
118
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
119
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
120
|
+
end
|
121
|
+
end
|
122
|
+
```
|
123
|
+
|
124
|
+
```ruby
|
125
|
+
@sign << ['NE40E', 'telnet']
|
126
|
+
|
127
|
+
module NE40E
|
128
|
+
def setting
|
129
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
130
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
131
|
+
end
|
132
|
+
end
|
133
|
+
```
|
134
|
+
|
135
|
+
```ruby
|
136
|
+
@sign << ['NE80E', 'telnet']
|
137
|
+
|
138
|
+
module NE80E
|
139
|
+
def setting
|
140
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
141
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
142
|
+
end
|
143
|
+
end
|
144
|
+
```
|
145
|
+
|
146
|
+
```ruby
|
147
|
+
@sign << ['NE40E-X8', 'telnet']
|
148
|
+
|
149
|
+
module NE40E_X8
|
150
|
+
def setting
|
151
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
152
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
153
|
+
end
|
154
|
+
end
|
155
|
+
```
|
156
|
+
|
157
|
+
```ruby
|
158
|
+
@sign << ['NE40E-X16', 'telnet']
|
159
|
+
|
160
|
+
module NE40E_X16
|
161
|
+
def setting
|
162
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
163
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
164
|
+
end
|
165
|
+
end
|
166
|
+
```
|
167
|
+
|
168
|
+
```ruby
|
169
|
+
@sign << ['NE40E-X16A', 'telnet']
|
170
|
+
|
171
|
+
module NE40E_X16A
|
172
|
+
def setting
|
173
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
174
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
175
|
+
end
|
176
|
+
end
|
177
|
+
```
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
@sign << ['NE5000E-X16', 'telnet']
|
181
|
+
|
182
|
+
module NE5000E_X16
|
183
|
+
def setting
|
184
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
185
|
+
@erasers << " ---- More ----" << "[16D [16D" << " \x1b[1D" << "[16D [16D"
|
186
|
+
end
|
187
|
+
end
|
188
|
+
```
|
189
|
+
|
190
|
+
```ruby
|
191
|
+
@sign << ['NE5000E-X16A', 'telnet']
|
192
|
+
|
193
|
+
module NE5000E_X16A
|
194
|
+
def setting
|
195
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
196
|
+
@erasers << " ---- More ----" << "[16D [16D" << " \x1b[1D" << "[16D [16D"
|
197
|
+
end
|
198
|
+
end
|
199
|
+
```
|
200
|
+
|
201
|
+
```ruby
|
202
|
+
@sign << ['NE5000E-20', 'telnet']
|
203
|
+
|
204
|
+
module NE5000E_20
|
205
|
+
def setting
|
206
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
207
|
+
@erasers << " ---- More ----" << "[16D [16D" << " \x1b[1D" << "[16D [16D"
|
208
|
+
end
|
209
|
+
end
|
210
|
+
```
|
211
|
+
|
212
|
+
```ruby
|
213
|
+
@sign << ['NE8000E-X8', 'telnet']
|
214
|
+
|
215
|
+
module NE8000E_X8
|
216
|
+
def setting
|
217
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
218
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
219
|
+
end
|
220
|
+
end
|
221
|
+
```
|
222
|
+
|
223
|
+
```ruby
|
224
|
+
@sign << ['NE8100-X8', 'telnet']
|
225
|
+
|
226
|
+
module NE8100_X8
|
227
|
+
def setting
|
228
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
229
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
230
|
+
end
|
231
|
+
end
|
232
|
+
```
|
233
|
+
|
234
|
+
## 中兴
|
235
|
+
|
236
|
+
```ruby
|
237
|
+
@sign << ['M6000-8', 'telnet']
|
238
|
+
|
239
|
+
module M6000_8
|
240
|
+
def setting
|
241
|
+
@selectors = {" --More--"=>' ',"!</if-intf>"=>'%ruby sleep 1'}
|
242
|
+
@erasers << " --More--" << " "
|
243
|
+
end
|
244
|
+
end
|
245
|
+
```
|
246
|
+
|
247
|
+
```ruby
|
248
|
+
@sign << ['M6000-8E', 'telnet']
|
249
|
+
|
250
|
+
module M6000_8E
|
251
|
+
def setting
|
252
|
+
@selectors = {" --More--"=>' ',"!</if-intf>"=>'%ruby sleep 1'}
|
253
|
+
@erasers << " --More--" << " "
|
254
|
+
end
|
255
|
+
end
|
256
|
+
```
|
257
|
+
|
258
|
+
```ruby
|
259
|
+
@sign << ['M6000-16E', 'telnet']
|
260
|
+
|
261
|
+
module M6000_16E
|
262
|
+
def setting
|
263
|
+
@selectors = {" --More--"=>' ',"!</if-intf>"=>'%ruby sleep 1'}
|
264
|
+
@erasers << " --More--" << " "
|
265
|
+
end
|
266
|
+
end
|
267
|
+
```
|
268
|
+
|
269
|
+
```ruby
|
270
|
+
@sign << ['M6000-18S', 'telnet']
|
271
|
+
|
272
|
+
module M6000_18S
|
273
|
+
def setting
|
274
|
+
@selectors = {
|
275
|
+
" --More--"=>' ',
|
276
|
+
"!</if-intf>"=>'%ruby sleep 1', # HCBSJ
|
277
|
+
"$\n$"=>'%ruby sleep 1', # HCBSJ
|
278
|
+
}
|
279
|
+
@erasers << " --More--" << " "
|
280
|
+
end
|
281
|
+
end
|
282
|
+
```
|
283
|
+
|
284
|
+
```ruby
|
285
|
+
@sign << ['T8000-18', 'telnet']
|
286
|
+
|
287
|
+
module T8000_18
|
288
|
+
def setting
|
289
|
+
@selectors = {
|
290
|
+
" --More--"=>' ',
|
291
|
+
"!</if-intf>"=>'%ruby sleep 1', # HCBSJ
|
292
|
+
"$\n$"=>'%ruby sleep 1', # HCBSJ
|
293
|
+
}
|
294
|
+
@erasers << " --More--" << " "
|
295
|
+
end
|
296
|
+
end
|
297
|
+
```
|
298
|
+
|
299
|
+
## 华三
|
300
|
+
|
301
|
+
```ruby
|
302
|
+
@sign << ['CR16010H-F', 'telnet']
|
303
|
+
|
304
|
+
module CR16010H_F
|
305
|
+
def setting
|
306
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
307
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
308
|
+
end
|
309
|
+
end
|
310
|
+
```
|
311
|
+
|
312
|
+
```ruby
|
313
|
+
@sign << ['CR16018-F', 'telnet']
|
314
|
+
|
315
|
+
module CR16018_F
|
316
|
+
def setting
|
317
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
318
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
319
|
+
end
|
320
|
+
end
|
321
|
+
```
|
322
|
+
|
323
|
+
```ruby
|
324
|
+
@sign << ['CR19000-20', 'telnet']
|
325
|
+
|
326
|
+
module CR19000_20
|
327
|
+
def setting
|
328
|
+
@selectors = {" ---- More ----"=>' ',"Are you sure to display some information?(Y/N)[Y]:"=>'y'}
|
329
|
+
@erasers << " ---- More ----" << "[42D [42D" << " \x1b[1D" << "[16D [16D"
|
330
|
+
end
|
331
|
+
end
|
332
|
+
```
|
data/network.rb
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
#coding:utf-8
|
2
|
+
require 'cc'
|
3
|
+
CC.use 'kernel', 'file', 'chrono'
|
4
|
+
|
5
|
+
[
|
6
|
+
'ipv4_address',
|
7
|
+
'ipv6_address',
|
8
|
+
'mac_address',
|
9
|
+
'netmerge',
|
10
|
+
'route',
|
11
|
+
'whitelist'
|
12
|
+
].each{|mod|require "utility/#{mod}"}
|
13
|
+
|
14
|
+
[
|
15
|
+
'document'
|
16
|
+
].each{|mod|require "document/#{mod}"}
|
17
|
+
|
18
|
+
[
|
19
|
+
'open-uri'
|
20
|
+
].each{|mod|require mod}
|
21
|
+
|
22
|
+
module Network
|
23
|
+
VERSION = '1.1.4'
|
24
|
+
end
|