├── LICENSE ├── README.md └── net_os_cli.ini /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024, Hugo A. Lopez <95hlopez@gmail.com> 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # netOS-cli 2 | a keyword highlighting list for secureCRT 3 | 4 | this keyword list highlights contextual keywords and phrases to make administration of network devices easier. 5 | 6 | ### requirements 7 | - Secure CRT 8.5 or later 8 | 9 | ### features 10 | highlights the following: 11 | - interface names 12 | - IPv4/IPv6 addresses 13 | - MAC addresses 14 | - contextual keywords (eg. disabled, shutdown, etc) 15 | - protocol specific information (BGP) 16 | 17 | ### compatible/tested systems 18 | - Cisco IOS 19 | - Cisco IOS-XE 20 | - Cisco IOS-XR 21 | - Cisco NX-OS 22 | - Linux-based systems (Debian, Fedora, RHEL, Ubuntu, etc + FRRouting) 23 | - Juniper JunOS 24 | - VyOS 25 | 26 | works with other network operating systems as well, but not thoroughly tested. 27 | 28 | ### install instructions: 29 | 1. clone this repo or download `net_os_cli.ini` 30 | 1. copy `net_os_cli.ini` to your secureCRT's keyword list directory (usually located at `%appdata%\VanDyke\Config\Keywords`) 31 | 1. select the active keyword list in secureCRT (_Options > Edit Default Session > Terminal > Keyword Highlighting_) 32 | 1. under advanced (within _Keyword Highlighting_ settings), make sure highlight style has only _color_ enabled and set match style to _phrases and substrings_ 33 | 1. if you need this enabled by default, make sure you select '_change ALL sessions (no undo)_' after clicking ok to save settings. 34 | 35 | any new sessions will start with keyword highlighting enabled. 36 | 37 | some screenshots: 38 | 39 | **Cisco IOS-XR** 40 | 41 | 42 | ![IOS-XR](https://i.imgur.com/LaJmjfe.png) 43 | 44 | **Juniper Junos** 45 | 46 | ![Junos](https://i.imgur.com/cNxhFHS.png) 47 | 48 | **VyOS** 49 | 50 | ![VyOS](https://i.imgur.com/7TwiqwU.png) 51 | -------------------------------------------------------------------------------- /net_os_cli.ini: -------------------------------------------------------------------------------- 1 | D:"Match Case"=00000000 2 | D:"Regex Line Mode"=00000001 3 | Z:"Keyword List V2"=00000030 4 | "--cisco_config_mode_highlighting",00aaaaff,00000000 5 | "(^(\S+)(\(config\))(>|#))",00aaaaff,00000001 6 | "--cisco_hostname_highlighting",00d2d2d2,00000000 7 | "(^(\S+)(>|#))",00d2d2d2,00000001 8 | "--mac_address_highlighting",0060cce8,00000000 9 | "\b(?:[a-f0-9]{2}[:-]){5}[a-f0-9]{2}",0060cce8,00000001 10 | "[a-f0-9]{4}\.[a-f0-9]{4}\.[a-f0-9]{4}",0060cce8,00000001 11 | "[a-f0-9]{6}\-[a-f0-9]{6}",0060cce8,00000001 12 | "--ipv4_ipv6_highlighting",00e8f383,00000000 13 | "(([0-9]{1,3})\.){3}([0-9]{1,3})(\/(3[0-2]|[1-2][0-9]|[0-9]))?",00e8f383,00000001 14 | "((?![^\w:])(([0-9a-f]{1,4}:){1,7}:|:(:[0-9a-f]{1,4}){1,7}|([0-9a-f]{1,4}:){1,7}[0-9a-f]{0,4}(:[0-9a-f]{1,4}){1,7}):?(?![\w:]))(\/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9]))?|(:{2}\/0)",00e8f383,00000001 15 | "--time_highlight",00ffe9bb,00000000 16 | "\b([0-9]+[ywdhms])+\b",00ffe9bb,00000001 17 | "--interface_highlighting",00fddb66,00000000 18 | "([a-zA-Z]+)(\-?)(([0-9]+\/)+)([0-9]+)((\.[0-9]+)|:([0-9]+))?",00fddb66,00000001 19 | "(loopback|multilink)[0-9]+",00fddb66,00000001 20 | "(eth|ens|vlan|vxlan|bond|pppoe|tun(nel)?|l2tpv3|(vm)?br|lo|gre|dum|wg|wlan)([0-9]+)((\.[0-9]+){0,2})",00fddb66,00000001 21 | "(tap[0-9]*i|(enp0s20f)|enp[0-9]s)([0-9]+)((\.[0-9]+){0,2})",00fddb66,00000001 22 | "--informational_highlighting",00b0d8ff,00000000 23 | "\b(idle|active|incomplete|noarp|unknown|collision|(commit(t(ing|ed))?)|(not found))\b",00b0d8ff,00000001 24 | "--negative_highlighting",007474fc,00000000 25 | "\b((u\/D)|(A\/D))\b",007474fc,00000001 26 | "\b(disabled?|not enabled|shutdown|fail(ed)?|deleted?|never|error|re(start|boot|load|set)|((dis|not)connect(ed)?)|confirm|den(y|(ied))|((administratively )?down))\b",007474fc,00000001 27 | "\b(half(((\s|-)duplex)?)|invalid|crc|false|no)\b",007474fc,00000001 28 | "--positive_highlighting",0095eeb7,00000000 29 | "\b(yes|established|true|valid|full(((\s|-)duplex)?))\b",0095eeb7,00000001 30 | "\b(u\/u)\b",0095eeb7,00000001 31 | "\b(up|lower_up|enabled?|permit(ted)?||(connect(ed)?)||success(ful(ly)?)?|done|ok)\b",0095eeb7,00000001 32 | "--inteface_type_highlighting",00b5e6ee,00000000 33 | "\b(bonding|bridge|dummy|gre|geneve)\b",00b5e6ee,00000001 34 | "\b(l2tpv3|loopback|erspan|openvpn|pppoe)\b",00b5e6ee,00000001 35 | "\b(pseudo(-ethernet|wire)|ethernet|tunnel|vti|((s|c)-)?(vlan|tag)|dot1q|vxlan|wireguard)\b",00b5e6ee,00000001 36 | "\b(vif|wirelessmodem|wireless)\b",00b5e6ee,00000001 37 | "--proto_tool_highlighting",00ffd7eb,00000000 38 | "\b(bfd|(e|i)?bgp|igmp(-proxy)?|nhrp|pim|is(-?)is|ospf(6|v(2|3))?|eigrp|rip(v(1|2)|ng)?|rpki|static)\b",00ffd7eb,00000001 39 | "\b(ipv4|ipv6|ftp|tcp|udp|tftp|scp|ssh|mpls|mtu|ntp|snmp|inspect|icmp|vrrp)\b",00ffd7eb,00000001 40 | "\b(traceroute6?|ping6?|tcpdump|telnet)\b",00ffd7eb,00000001 41 | "\b(vrf|evpn|l2vpn|l3vpn|ldp|xconnect|xc|LSP)\b",00ffd7eb,00000001 42 | "\b((labeled-)?unicast|multicast|broadcast|master|slave|pointopoint|backup|flowspec|vpn(v4|v6))\b",00ffd7eb,00000001 43 | "--service_highlighting",0062b3e6,00000000 44 | "\b(broadcast-relay|conntrack-sync|dhcp-relay|dhcp-server|dhcpv6-relay|dhcpv6-server)\b",0062b3e6,00000001 45 | "\b(dns|https?|ipoe-server|lldp|cdp|mdns|pppoe-server)\b",0062b3e6,00000001 46 | "\b(salt-minion|snmp|ssh|sstp-server|tftp-server|webproxy)\b",0062b3e6,00000001 47 | "\b((un)?tagged|trunk|access)\b",0062b3e6,00000001 48 | "--colorize_quotes",00cecece,00000000 49 | "('(.*?)')|("(.*?)")",00cecece,00000000 50 | "--number_highlighting",0075ffff,00000000 51 | "\b[0-9]+\b",0075ffff,00000000 52 | --------------------------------------------------------------------------------