ciscollm-cli 1.2.0 → 1.3.0
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.
- package/dist/core/agent/AgentLoop.js +1 -0
- package/dist/core/agent/AgentLoop.js.map +1 -1
- package/dist/core/agent/MultiAgentCoordinator.d.ts +3 -0
- package/dist/core/agent/MultiAgentCoordinator.js +12 -0
- package/dist/core/agent/MultiAgentCoordinator.js.map +1 -1
- package/dist/core/guardrails/CommandFirewall.js +13 -4
- package/dist/core/guardrails/CommandFirewall.js.map +1 -1
- package/dist/server/dashboard.js +324 -224
- package/dist/server/dashboard.js.map +1 -1
- package/dist/server/shell-simulator.d.ts +27 -1
- package/dist/server/shell-simulator.js +329 -1
- package/dist/server/shell-simulator.js.map +1 -1
- package/dist/shared/constants.js +1 -1
- package/dist/shared/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":";;;;;AAQA,
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/server/dashboard.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAygCH,CAAC;AACT,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EventEmitter } from 'events';
|
|
2
2
|
export declare const simulatorEvents: EventEmitter<[never]>;
|
|
3
|
-
export type CliMode = 'USER_EXEC' | 'PRIVILEGED_EXEC' | 'GLOBAL_CONFIG' | 'INTERFACE_CONFIG' | 'OSPF_CONFIG' | 'DHCP_CONFIG' | 'ACL_CONFIG' | 'VLAN_CONFIG';
|
|
3
|
+
export type CliMode = 'USER_EXEC' | 'PRIVILEGED_EXEC' | 'GLOBAL_CONFIG' | 'INTERFACE_CONFIG' | 'OSPF_CONFIG' | 'RIP_CONFIG' | 'BGP_CONFIG' | 'EIGRP_CONFIG' | 'DHCP_CONFIG' | 'ACL_CONFIG' | 'VLAN_CONFIG';
|
|
4
4
|
export interface InterfaceState {
|
|
5
5
|
name: string;
|
|
6
6
|
ip: string | null;
|
|
@@ -11,6 +11,7 @@ export interface InterfaceState {
|
|
|
11
11
|
isSwitchport?: boolean;
|
|
12
12
|
switchportMode?: 'access' | 'trunk';
|
|
13
13
|
vlan?: number;
|
|
14
|
+
natType?: 'inside' | 'outside';
|
|
14
15
|
}
|
|
15
16
|
export interface RouteState {
|
|
16
17
|
network: string;
|
|
@@ -33,6 +34,31 @@ export declare class ShellSimulator {
|
|
|
33
34
|
shellFunctions: Record<string, string>;
|
|
34
35
|
ospfEnabled: boolean;
|
|
35
36
|
ospfProcessId: string | null;
|
|
37
|
+
ripEnabled: boolean;
|
|
38
|
+
ripVersion: number;
|
|
39
|
+
ripAutoSummary: boolean;
|
|
40
|
+
bgpEnabled: boolean;
|
|
41
|
+
bgpAsn: string | null;
|
|
42
|
+
eigrpEnabled: boolean;
|
|
43
|
+
eigrpAsn: string | null;
|
|
44
|
+
vtpMode: string;
|
|
45
|
+
vtpDomain: string | null;
|
|
46
|
+
vtpPassword: string | null;
|
|
47
|
+
hsrpGroups: Map<string, {
|
|
48
|
+
virtualIp: string;
|
|
49
|
+
priority: number;
|
|
50
|
+
preempt: boolean;
|
|
51
|
+
}>;
|
|
52
|
+
vrrpGroups: Map<string, {
|
|
53
|
+
virtualIp: string;
|
|
54
|
+
priority: number;
|
|
55
|
+
}>;
|
|
56
|
+
ntpServers: string[];
|
|
57
|
+
snmpCommunities: string[];
|
|
58
|
+
natInsideInterfaces: Set<string>;
|
|
59
|
+
natOutsideInterfaces: Set<string>;
|
|
60
|
+
natRules: string[];
|
|
61
|
+
acls: Map<string, string[]>;
|
|
36
62
|
ipRoutingEnabled: boolean;
|
|
37
63
|
flashFiles: Set<string>;
|
|
38
64
|
private pendingCopyDest;
|
|
@@ -50,6 +50,24 @@ class ShellSimulator {
|
|
|
50
50
|
shellFunctions = {};
|
|
51
51
|
ospfEnabled = false;
|
|
52
52
|
ospfProcessId = null;
|
|
53
|
+
ripEnabled = false;
|
|
54
|
+
ripVersion = 2;
|
|
55
|
+
ripAutoSummary = false;
|
|
56
|
+
bgpEnabled = false;
|
|
57
|
+
bgpAsn = null;
|
|
58
|
+
eigrpEnabled = false;
|
|
59
|
+
eigrpAsn = null;
|
|
60
|
+
vtpMode = 'server';
|
|
61
|
+
vtpDomain = null;
|
|
62
|
+
vtpPassword = null;
|
|
63
|
+
hsrpGroups = new Map();
|
|
64
|
+
vrrpGroups = new Map();
|
|
65
|
+
ntpServers = [];
|
|
66
|
+
snmpCommunities = [];
|
|
67
|
+
natInsideInterfaces = new Set();
|
|
68
|
+
natOutsideInterfaces = new Set();
|
|
69
|
+
natRules = [];
|
|
70
|
+
acls = new Map();
|
|
53
71
|
ipRoutingEnabled = true;
|
|
54
72
|
flashFiles = new Set(['c2960-lanbasek9-mz.150-2.SE4.bin']);
|
|
55
73
|
pendingCopyDest = null;
|
|
@@ -95,6 +113,9 @@ class ShellSimulator {
|
|
|
95
113
|
case 'INTERFACE_CONFIG':
|
|
96
114
|
return `${this.hostname}(config-if)# `;
|
|
97
115
|
case 'OSPF_CONFIG':
|
|
116
|
+
case 'RIP_CONFIG':
|
|
117
|
+
case 'BGP_CONFIG':
|
|
118
|
+
case 'EIGRP_CONFIG':
|
|
98
119
|
return `${this.hostname}(config-router)# `;
|
|
99
120
|
case 'DHCP_CONFIG':
|
|
100
121
|
return `${this.hostname}(config-dhcp)# `;
|
|
@@ -203,7 +224,7 @@ show the available options.`;
|
|
|
203
224
|
return `% Incomplete command.`;
|
|
204
225
|
}
|
|
205
226
|
if (cmd === 'exit') {
|
|
206
|
-
if (this.mode === 'INTERFACE_CONFIG' || this.mode === 'OSPF_CONFIG' || this.mode === 'DHCP_CONFIG' || this.mode === 'ACL_CONFIG' || this.mode === 'VLAN_CONFIG') {
|
|
227
|
+
if (this.mode === 'INTERFACE_CONFIG' || this.mode === 'OSPF_CONFIG' || this.mode === 'RIP_CONFIG' || this.mode === 'BGP_CONFIG' || this.mode === 'EIGRP_CONFIG' || this.mode === 'DHCP_CONFIG' || this.mode === 'ACL_CONFIG' || this.mode === 'VLAN_CONFIG') {
|
|
207
228
|
this.mode = 'GLOBAL_CONFIG';
|
|
208
229
|
this.activeInterface = null;
|
|
209
230
|
this.activeVlan = null;
|
|
@@ -345,6 +366,81 @@ show the available options.`;
|
|
|
345
366
|
this.ospfProcessId = null;
|
|
346
367
|
return '';
|
|
347
368
|
}
|
|
369
|
+
if (cmd === 'router' && args[1] === 'rip') {
|
|
370
|
+
this.mode = 'RIP_CONFIG';
|
|
371
|
+
this.ripEnabled = true;
|
|
372
|
+
return '';
|
|
373
|
+
}
|
|
374
|
+
if (cmd === 'no' && args[1] === 'router' && args[2] === 'rip') {
|
|
375
|
+
this.ripEnabled = false;
|
|
376
|
+
return '';
|
|
377
|
+
}
|
|
378
|
+
if (cmd === 'router' && args[1] === 'bgp') {
|
|
379
|
+
this.mode = 'BGP_CONFIG';
|
|
380
|
+
this.bgpAsn = args[2] || null;
|
|
381
|
+
this.bgpEnabled = true;
|
|
382
|
+
return '';
|
|
383
|
+
}
|
|
384
|
+
if (cmd === 'no' && args[1] === 'router' && args[2] === 'bgp') {
|
|
385
|
+
this.bgpEnabled = false;
|
|
386
|
+
this.bgpAsn = null;
|
|
387
|
+
return '';
|
|
388
|
+
}
|
|
389
|
+
if (cmd === 'spanning-tree' && args[1]) {
|
|
390
|
+
return '';
|
|
391
|
+
}
|
|
392
|
+
if (cmd === 'router' && args[1] === 'eigrp') {
|
|
393
|
+
this.mode = 'EIGRP_CONFIG';
|
|
394
|
+
this.eigrpAsn = args[2] || null;
|
|
395
|
+
this.eigrpEnabled = true;
|
|
396
|
+
return '';
|
|
397
|
+
}
|
|
398
|
+
if (cmd === 'no' && args[1] === 'router' && args[2] === 'eigrp') {
|
|
399
|
+
this.eigrpEnabled = false;
|
|
400
|
+
this.eigrpAsn = null;
|
|
401
|
+
return '';
|
|
402
|
+
}
|
|
403
|
+
if (cmd === 'vtp' && args[1]) {
|
|
404
|
+
if (args[1] === 'mode' && args[2]) {
|
|
405
|
+
this.vtpMode = args[2].toLowerCase();
|
|
406
|
+
}
|
|
407
|
+
else if (args[1] === 'domain' && args[2]) {
|
|
408
|
+
this.vtpDomain = args[2];
|
|
409
|
+
}
|
|
410
|
+
else if (args[1] === 'password' && args[2]) {
|
|
411
|
+
this.vtpPassword = args[2];
|
|
412
|
+
}
|
|
413
|
+
return '';
|
|
414
|
+
}
|
|
415
|
+
if (cmd === 'ntp' && args[1] === 'server' && args[2]) {
|
|
416
|
+
if (!this.ntpServers.includes(args[2])) {
|
|
417
|
+
this.ntpServers.push(args[2]);
|
|
418
|
+
}
|
|
419
|
+
return '';
|
|
420
|
+
}
|
|
421
|
+
if (cmd === 'snmp-server' && args[1] === 'community' && args[2]) {
|
|
422
|
+
if (!this.snmpCommunities.includes(args[2])) {
|
|
423
|
+
this.snmpCommunities.push(args[2]);
|
|
424
|
+
}
|
|
425
|
+
return '';
|
|
426
|
+
}
|
|
427
|
+
if (cmd === 'ip' && args[1] === 'nat' && args[2] === 'inside' && args[3] === 'source') {
|
|
428
|
+
this.natRules.push(args.slice(2).join(' '));
|
|
429
|
+
return '';
|
|
430
|
+
}
|
|
431
|
+
if (cmd === 'access-list' && args[1] && args[2]) {
|
|
432
|
+
const aclId = args[1];
|
|
433
|
+
const rule = args.slice(2).join(' ');
|
|
434
|
+
if (!this.acls.has(aclId)) {
|
|
435
|
+
this.acls.set(aclId, []);
|
|
436
|
+
}
|
|
437
|
+
this.acls.get(aclId).push(rule);
|
|
438
|
+
return '';
|
|
439
|
+
}
|
|
440
|
+
if (cmd === 'ip' && args[1] === 'access-list' && (args[2] === 'standard' || args[2] === 'extended') && args[3]) {
|
|
441
|
+
this.mode = 'ACL_CONFIG';
|
|
442
|
+
return '';
|
|
443
|
+
}
|
|
348
444
|
if (cmd === 'ip' && args[1] === 'dhcp' && args[2] === 'pool' && args[3]) {
|
|
349
445
|
this.mode = 'DHCP_CONFIG';
|
|
350
446
|
return '';
|
|
@@ -449,6 +545,58 @@ show the available options.`;
|
|
|
449
545
|
if (cmd === 'ip' && args[1] === 'ospf') {
|
|
450
546
|
return '';
|
|
451
547
|
}
|
|
548
|
+
if (cmd === 'switchport' && args[1] === 'mode' && args[2] === 'trunk') {
|
|
549
|
+
iface.switchportMode = 'trunk';
|
|
550
|
+
iface.isSwitchport = true;
|
|
551
|
+
return '';
|
|
552
|
+
}
|
|
553
|
+
if (cmd === 'switchport' && args[1] === 'trunk' && args[2] === 'allowed' && args[3] === 'vlan') {
|
|
554
|
+
return '';
|
|
555
|
+
}
|
|
556
|
+
if (cmd === 'channel-group' && args[1] && args[2] === 'mode' && args[3]) {
|
|
557
|
+
return '';
|
|
558
|
+
}
|
|
559
|
+
if (cmd === 'standby' && args[1]) {
|
|
560
|
+
const group = args[1];
|
|
561
|
+
if (!this.hsrpGroups.has(group)) {
|
|
562
|
+
this.hsrpGroups.set(group, { virtualIp: '', priority: 100, preempt: false });
|
|
563
|
+
}
|
|
564
|
+
const hsrp = this.hsrpGroups.get(group);
|
|
565
|
+
if (args[2] === 'ip' && args[3]) {
|
|
566
|
+
hsrp.virtualIp = args[3];
|
|
567
|
+
}
|
|
568
|
+
else if (args[2] === 'priority' && args[3]) {
|
|
569
|
+
hsrp.priority = parseInt(args[3], 10);
|
|
570
|
+
}
|
|
571
|
+
else if (args[2] === 'preempt') {
|
|
572
|
+
hsrp.preempt = true;
|
|
573
|
+
}
|
|
574
|
+
return '';
|
|
575
|
+
}
|
|
576
|
+
if (cmd === 'vrrp' && args[1]) {
|
|
577
|
+
const group = args[1];
|
|
578
|
+
if (!this.vrrpGroups.has(group)) {
|
|
579
|
+
this.vrrpGroups.set(group, { virtualIp: '', priority: 100 });
|
|
580
|
+
}
|
|
581
|
+
const vrrp = this.vrrpGroups.get(group);
|
|
582
|
+
if (args[2] === 'ip' && args[3]) {
|
|
583
|
+
vrrp.virtualIp = args[3];
|
|
584
|
+
}
|
|
585
|
+
else if (args[2] === 'priority' && args[3]) {
|
|
586
|
+
vrrp.priority = parseInt(args[3], 10);
|
|
587
|
+
}
|
|
588
|
+
return '';
|
|
589
|
+
}
|
|
590
|
+
if (cmd === 'ip' && args[1] === 'nat' && (args[2] === 'inside' || args[2] === 'outside')) {
|
|
591
|
+
iface.natType = args[2];
|
|
592
|
+
if (args[2] === 'inside') {
|
|
593
|
+
this.natInsideInterfaces.add(this.activeInterface);
|
|
594
|
+
}
|
|
595
|
+
else {
|
|
596
|
+
this.natOutsideInterfaces.add(this.activeInterface);
|
|
597
|
+
}
|
|
598
|
+
return '';
|
|
599
|
+
}
|
|
452
600
|
return `% Invalid input detected at '^' marker.`;
|
|
453
601
|
}
|
|
454
602
|
if (this.mode === 'OSPF_CONFIG') {
|
|
@@ -460,6 +608,60 @@ show the available options.`;
|
|
|
460
608
|
}
|
|
461
609
|
return `% Invalid input detected at '^' marker.`;
|
|
462
610
|
}
|
|
611
|
+
if (this.mode === 'RIP_CONFIG') {
|
|
612
|
+
if (cmd === 'version' && (args[1] === '1' || args[1] === '2')) {
|
|
613
|
+
this.ripVersion = parseInt(args[1], 10);
|
|
614
|
+
return '';
|
|
615
|
+
}
|
|
616
|
+
if (cmd === 'no' && args[1] === 'auto-summary') {
|
|
617
|
+
this.ripAutoSummary = false;
|
|
618
|
+
return '';
|
|
619
|
+
}
|
|
620
|
+
if (cmd === 'auto-summary') {
|
|
621
|
+
this.ripAutoSummary = true;
|
|
622
|
+
return '';
|
|
623
|
+
}
|
|
624
|
+
if (cmd === 'network' && args[1]) {
|
|
625
|
+
return '';
|
|
626
|
+
}
|
|
627
|
+
if (cmd === 'passive-interface' || (cmd === 'no' && args[1] === 'passive-interface')) {
|
|
628
|
+
return '';
|
|
629
|
+
}
|
|
630
|
+
return `% Invalid input detected at '^' marker.`;
|
|
631
|
+
}
|
|
632
|
+
if (this.mode === 'BGP_CONFIG') {
|
|
633
|
+
if (cmd === 'neighbor' && args[1]) {
|
|
634
|
+
return '';
|
|
635
|
+
}
|
|
636
|
+
if (cmd === 'no' && args[1] === 'neighbor' && args[2]) {
|
|
637
|
+
return '';
|
|
638
|
+
}
|
|
639
|
+
if (cmd === 'network' && args[1]) {
|
|
640
|
+
return '';
|
|
641
|
+
}
|
|
642
|
+
if (cmd === 'no' && args[1] === 'auto-summary') {
|
|
643
|
+
return '';
|
|
644
|
+
}
|
|
645
|
+
if (cmd === 'auto-summary') {
|
|
646
|
+
return '';
|
|
647
|
+
}
|
|
648
|
+
return `% Invalid input detected at '^' marker.`;
|
|
649
|
+
}
|
|
650
|
+
if (this.mode === 'EIGRP_CONFIG') {
|
|
651
|
+
if (cmd === 'network' && args[1]) {
|
|
652
|
+
return '';
|
|
653
|
+
}
|
|
654
|
+
if (cmd === 'no' && args[1] === 'auto-summary') {
|
|
655
|
+
return '';
|
|
656
|
+
}
|
|
657
|
+
if (cmd === 'auto-summary') {
|
|
658
|
+
return '';
|
|
659
|
+
}
|
|
660
|
+
if (cmd === 'passive-interface' || (cmd === 'no' && args[1] === 'passive-interface')) {
|
|
661
|
+
return '';
|
|
662
|
+
}
|
|
663
|
+
return `% Invalid input detected at '^' marker.`;
|
|
664
|
+
}
|
|
463
665
|
if (this.mode === 'DHCP_CONFIG') {
|
|
464
666
|
if (cmd === 'network' || cmd === 'default-router' || cmd === 'dns-server') {
|
|
465
667
|
return '';
|
|
@@ -526,6 +728,70 @@ This product contains cryptographic features and is subject to Y...
|
|
|
526
728
|
out += `!\nend\n`;
|
|
527
729
|
return out;
|
|
528
730
|
}
|
|
731
|
+
if (showCmd === 'ip' && showArgs[1] === 'protocols') {
|
|
732
|
+
let out = '';
|
|
733
|
+
if (this.ospfEnabled) {
|
|
734
|
+
out += `Routing Protocol is "ospf ${this.ospfProcessId || '10'}"\n` +
|
|
735
|
+
` Outgoing update filter list for all interfaces is not set\n` +
|
|
736
|
+
` Incoming update filter list for all interfaces is not set\n` +
|
|
737
|
+
` Router ID 192.168.1.254\n` +
|
|
738
|
+
` Number of areas in this router is 1. 1 normal 0 stub 0 nssa\n` +
|
|
739
|
+
` Routing for Networks:\n` +
|
|
740
|
+
` 192.168.1.0/24 area 0\n` +
|
|
741
|
+
` Routing Information Sources:\n` +
|
|
742
|
+
` Gateway Distance Last Update\n` +
|
|
743
|
+
` Distance: (default is 110)\n\n`;
|
|
744
|
+
}
|
|
745
|
+
if (this.ripEnabled) {
|
|
746
|
+
out += `Routing Protocol is "rip"\n` +
|
|
747
|
+
` Sending updates every 30 seconds, next due in 15 seconds\n` +
|
|
748
|
+
` Invalid 180 seconds, hold down 180, flushed 240\n` +
|
|
749
|
+
` Outgoing update filter list for all interfaces is not set\n` +
|
|
750
|
+
` Incoming update filter list for all interfaces is not set\n` +
|
|
751
|
+
` Redistributing: rip\n` +
|
|
752
|
+
` Default version control: send version ${this.ripVersion}, receive version ${this.ripVersion}\n` +
|
|
753
|
+
` Interface Send Recv Triggered RIP Key-chain\n`;
|
|
754
|
+
for (const name of this.interfaces.keys()) {
|
|
755
|
+
out += ` ${name.padEnd(21)} ${this.ripVersion} ${this.ripVersion}\n`;
|
|
756
|
+
}
|
|
757
|
+
out += ` Automatic network summarization is ${this.ripAutoSummary ? 'in effect' : 'not in effect'}\n` +
|
|
758
|
+
` Maximum path: 4\n` +
|
|
759
|
+
` Routing for Networks:\n` +
|
|
760
|
+
` 192.168.1.0\n` +
|
|
761
|
+
` Routing Information Sources:\n` +
|
|
762
|
+
` Gateway Distance Last Update\n` +
|
|
763
|
+
` Distance: (default is 120)\n\n`;
|
|
764
|
+
}
|
|
765
|
+
if (this.bgpEnabled) {
|
|
766
|
+
out += `Routing Protocol is "bgp ${this.bgpAsn || '65000'}"\n` +
|
|
767
|
+
` Outgoing update filter list for all interfaces is not set\n` +
|
|
768
|
+
` Incoming update filter list for all interfaces is not set\n` +
|
|
769
|
+
` IGP synchronization is disabled\n` +
|
|
770
|
+
` Automatic route summarization is disabled\n` +
|
|
771
|
+
` Routing Information Sources:\n` +
|
|
772
|
+
` Gateway Distance Last Update\n` +
|
|
773
|
+
` Distance: external 20 internal 200 local 200\n\n`;
|
|
774
|
+
}
|
|
775
|
+
if (this.eigrpEnabled) {
|
|
776
|
+
out += `Routing Protocol is "eigrp ${this.eigrpAsn || '100'}"\n` +
|
|
777
|
+
` Outgoing update filter list for all interfaces is not set\n` +
|
|
778
|
+
` Incoming update filter list for all interfaces is not set\n` +
|
|
779
|
+
` Default networks being advertised:\n` +
|
|
780
|
+
` 192.168.1.0\n` +
|
|
781
|
+
` EIGRP-IPv4 Protocol for AS(${this.eigrpAsn || '100'})\n` +
|
|
782
|
+
` Metric weight K1=1, K2=0, K3=1, K4=0, K5=0\n` +
|
|
783
|
+
` NSF-aware route hold timer is 240s\n` +
|
|
784
|
+
` Router-ID: 192.168.1.254\n` +
|
|
785
|
+
` Topology Kisspoint limit: 100\n` +
|
|
786
|
+
` Routing Information Sources:\n` +
|
|
787
|
+
` Gateway Distance Last Update\n` +
|
|
788
|
+
` Distance: internal 90 external 170\n\n`;
|
|
789
|
+
}
|
|
790
|
+
if (!out) {
|
|
791
|
+
out = '*** No routing protocols configured ***\n';
|
|
792
|
+
}
|
|
793
|
+
return out;
|
|
794
|
+
}
|
|
529
795
|
if (showCmd === 'ip' && showArgs[1]?.startsWith('ro')) {
|
|
530
796
|
if (!this.ipRoutingEnabled) {
|
|
531
797
|
return '% IP routing table is not enabled';
|
|
@@ -583,6 +849,68 @@ Device ID Local Intrfce Holdtme Capability Platform Port ID
|
|
|
583
849
|
Switch2 Gig 0/1 125 S I WS-C2960- Gig 0/1
|
|
584
850
|
`;
|
|
585
851
|
}
|
|
852
|
+
if (showCmd === 'vtp' && showArgs[1] === 'status') {
|
|
853
|
+
return `VTP Version capability : 1 to 3\n` +
|
|
854
|
+
`VTP version running : 1\n` +
|
|
855
|
+
`VTP Operating Mode : ${this.vtpMode}\n` +
|
|
856
|
+
`VTP Domain Name : ${this.vtpDomain || ''}\n` +
|
|
857
|
+
`VTP Pruning Mode : Disabled\n` +
|
|
858
|
+
`VTP V2 Mode : Disabled\n` +
|
|
859
|
+
`VTP Traps Generation : Disabled\n` +
|
|
860
|
+
`MD5 digest : 0x94 0xC2 0x6E 0x93 0xA3 0xE2 0xD4 0xFA \n` +
|
|
861
|
+
`Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00\n`;
|
|
862
|
+
}
|
|
863
|
+
if (showCmd === 'standby' && (showArgs[1] === 'brief' || !showArgs[1])) {
|
|
864
|
+
let out = ' Preempt State Active Standby Virtual IP\n';
|
|
865
|
+
for (const [group, hsrp] of this.hsrpGroups.entries()) {
|
|
866
|
+
out += `Gi0/1 ${group.padEnd(6)} ${hsrp.priority.toString().padEnd(4)} ${hsrp.preempt ? 'P' : ' '} Active local unknown ${hsrp.virtualIp}\n`;
|
|
867
|
+
}
|
|
868
|
+
if (this.hsrpGroups.size === 0) {
|
|
869
|
+
out = '*** No HSRP standby groups configured ***\n';
|
|
870
|
+
}
|
|
871
|
+
return out;
|
|
872
|
+
}
|
|
873
|
+
if (showCmd === 'vrrp' && (showArgs[1] === 'brief' || !showArgs[1])) {
|
|
874
|
+
let out = 'Interface Grp Fip Pri Time Own Pre State Master addr Group addr\n';
|
|
875
|
+
for (const [group, vrrp] of this.vrrpGroups.entries()) {
|
|
876
|
+
out += `Gi0/1 ${group.padEnd(4)} 1 ${vrrp.priority.toString().padEnd(3)} 3.609 N Y Master local ${vrrp.virtualIp}\n`;
|
|
877
|
+
}
|
|
878
|
+
if (this.vrrpGroups.size === 0) {
|
|
879
|
+
out = '*** No VRRP groups configured ***\n';
|
|
880
|
+
}
|
|
881
|
+
return out;
|
|
882
|
+
}
|
|
883
|
+
if (showCmd === 'ip' && showArgs[1] === 'nat' && showArgs[2] === 'translations') {
|
|
884
|
+
let out = 'Pro Inside global Inside local Outside local Outside global\n';
|
|
885
|
+
for (const rule of this.natRules) {
|
|
886
|
+
out += `tcp 192.0.2.1:80 192.168.1.10:80 --- ---\n`;
|
|
887
|
+
}
|
|
888
|
+
if (this.natRules.length === 0) {
|
|
889
|
+
out = '*** No NAT translations active ***\n';
|
|
890
|
+
}
|
|
891
|
+
return out;
|
|
892
|
+
}
|
|
893
|
+
if (showCmd === 'access-lists') {
|
|
894
|
+
let out = '';
|
|
895
|
+
for (const [aclId, rules] of this.acls.entries()) {
|
|
896
|
+
out += `Standard IP access list ${aclId}\n`;
|
|
897
|
+
rules.forEach((rule, idx) => {
|
|
898
|
+
out += ` ${(idx + 1) * 10} ${rule}\n`;
|
|
899
|
+
});
|
|
900
|
+
}
|
|
901
|
+
if (this.acls.size === 0) {
|
|
902
|
+
out = '*** No access lists configured ***\n';
|
|
903
|
+
}
|
|
904
|
+
return out;
|
|
905
|
+
}
|
|
906
|
+
if (showCmd === 'ntp' && (showArgs[1] === 'status' || showArgs[1] === 'associations')) {
|
|
907
|
+
if (this.ntpServers.length === 0) {
|
|
908
|
+
return 'NTP is not enabled.\n';
|
|
909
|
+
}
|
|
910
|
+
let out = 'Clock is synchronized, stratum 2, reference is ' + this.ntpServers[0] + '\n';
|
|
911
|
+
out += 'nominal freq is 250.0000 Hz, actual freq is 250.0000 Hz, precision is 2**24\n';
|
|
912
|
+
return out;
|
|
913
|
+
}
|
|
586
914
|
if (showCmd === 'lldp' && showArgs[1]?.startsWith('ne')) {
|
|
587
915
|
return `Device ID Local Intf Hold-time Capability Port ID
|
|
588
916
|
Switch2 Gi0/1 120 S Gi0/1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-simulator.js","sourceRoot":"","sources":["../../src/server/shell-simulator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-simulator.js","sourceRoot":"","sources":["../../src/server/shell-simulator.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/constants.js
CHANGED
|
@@ -14,7 +14,7 @@ exports.IOS_ERROR_PATTERNS = [
|
|
|
14
14
|
{ type: 'CommandRejected', regex: /% Command rejected/i },
|
|
15
15
|
{ type: 'AccessDenied', regex: /% Permission denied/i }
|
|
16
16
|
];
|
|
17
|
-
exports.PROMPT_REGEX = /(?:^|[\r\n])\s*([A-Za-z0-9_\-@\.:\(\)
|
|
17
|
+
exports.PROMPT_REGEX = /(?:^|[\r\n])\s*([A-Za-z0-9_\-@\.:\(\)/\\\[]+(?:>|#|\$|\]))\s*$/;
|
|
18
18
|
exports.MORE_REGEX = /(?:--\s*More\s*--|---\s*\(more\)\s*---|---- More ----|Press any key to continue|Press SPACE to continue)/i;
|
|
19
19
|
exports.DEFAULT_PROTECTED_INTERFACES = [
|
|
20
20
|
'GigabitEthernet0/0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAC9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IACpD,aAAa,EAAE,iBAAiB,EAAE,oBAAoB;CACzD,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC3D,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC7D,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,8BAA8B,EAAE;IAC/D,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE;IAC5D,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,4BAA4B,EAAE;IACtE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACzD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,EAAE;CAC1D,CAAC;AAGW,QAAA,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAC9B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa;IACpD,aAAa,EAAE,iBAAiB,EAAE,oBAAoB;CACzD,CAAC;AAEW,QAAA,kBAAkB,GAAG;IAC9B,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,sBAAsB,EAAE;IAC3D,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,uBAAuB,EAAE;IAC7D,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,8BAA8B,EAAE;IAC/D,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,yBAAyB,EAAE;IAC5D,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,4BAA4B,EAAE;IACtE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,qBAAqB,EAAE;IACzD,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,sBAAsB,EAAE;CAC1D,CAAC;AAGW,QAAA,YAAY,GAAG,gEAAgE,CAAC;AAGhF,QAAA,UAAU,GAAG,2GAA2G,CAAC;AAIzH,QAAA,4BAA4B,GAAG;IACxC,oBAAoB;IACpB,oBAAoB;IACpB,oBAAoB;IACpB,OAAO;CACV,CAAC"}
|