0

I have to check the access-lists in over 200 devices then compare the new and old access-lists. I used Cisco Mass Configurator to get me the access-lists so I don't have to log in to each devices. I want to split the result (from Cisco Mass Configurator) so it will only show me the access-lists of each device without other sentences. Below is just an example of the result. The actual result is way longer than this.

Getting NetBox devices and writing summary files ... Time: 17.27 secs

Rendering config for devices ... Time: 0.01 secs

Generating testbed using NetBox data ... Time: 0.00 secs


!!!-------------------- WARNING --------------------!!! You are about to configure the following:
========================================= do more abcconfig.old | s ip access-list extended TEST do more abcconfig.old | s ip access-list extended TRY
========================================= Please check output/device_configurations.txt for the rendered configuration for each device. Do you really want to automatically configure the 4 devices listed in the output/device_list.txt file? Automatic saving: disabled Configuration of unsaved config: enabled Continue? [y/n] 


Device: 1/4 | abcatlinr1

2022-12-12 13:00:53,762: %UNICON-INFO: +++ Unicon plugin iosxe (unicon.plugins.iosxe) +++ Warning: Permanently added '50.50.50.50' (RSA) to the list of known hosts.


2022-12-12 13:00:53,950: %UNICON-INFO: +++ connection to spawn: ssh -l qwerty 50.50.50.50 -p 22, id: 123456789101112 +++

2022-12-12 13:00:53,952: %UNICON-INFO: connection to abcatlinr1

################### Authorised access only #################
#---------This system is the property of abc----------#
#-Disconnect IMMEDIATELY if you are not an authorised user-#
#-----Contact soc@abc.com +12-345-489101 for help-----#
############################################################ Password:  abcatlinr1#

2022-12-12 13:00:54,505: %UNICON-INFO: +++ initializing handle +++

2022-12-12 13:00:54,578: %UNICON-INFO: +++ abcatlinr1 with via 'cli': executing command 'term length 0' +++ term length 0 abcatlinr1#

2022-12-12 13:00:55,118: %UNICON-INFO: +++ abcatlinr1 with via 'cli': executing command 'term width 0' +++ term width 0 abcatlinr1#

2022-12-12 13:00:55,560: %UNICON-INFO: +++ abcatlinr1 with via 'cli': configure +++ config term Enter configuration commands, one per line.  End with CNTL/Z.

abcatlinr1(config)#do more abcconfig.old | s ip access-list extended TEST
ip access-list extended TEST
 10 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 20 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-SERVER log
 30 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 40 permit ip object-group BBB-MON object-group AAA-MON
 50 permit ip 10.10.10.0 0.0.0.31 172.16.1.0 0.0.0.255
 440 deny   ip any any
abcatlinr1(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 10 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 15 permit object-group WARP-ports object-group LOCAL-LAN object-group WARP-extern
 26 permit tcp host 172.16.2.0 any eq 443
 30 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 40 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 100 deny   ip any any

Device: 2/4 | abcbezanr1

2022-12-12 13:00:56,218: %UNICON-INFO: +++ Unicon plugin ios (unicon.plugins.ios) +++ Warning: Permanently added '50.50.50.60' (RSA) to the list of known hosts.


2022-12-12 13:00:57,743: %UNICON-INFO: +++ connection to spawn: ssh -l qwerty 50.50.50.60 -p 22, id: 345678910111213 +++

2022-12-12 13:00:57,743: %UNICON-INFO: connection to abcbezanr1

################### Authorised access only #################
#---------This system is the property of abc----------#
#-Disconnect IMMEDIATELY if you are not an authorised user-#
#-----Contact soc@abc.com +12-345-489101 for help-----#
############################################################ Password:  abcbezanr1#

2022-12-12 13:00:58,463: %UNICON-INFO: +++ initializing handle +++

2022-12-12 13:00:58,532: %UNICON-INFO: +++ abcbezanr1 with via 'cli': executing command 'term length 0' +++ term length 0 abcbezanr1#

2022-12-12 13:00:59,032: %UNICON-INFO: +++ abcbezanr1 with via 'cli': executing command 'term width 0' +++ term width 0 abcbezanr1#

2022-12-12 13:00:59,527: %UNICON-INFO: +++ abcbezanr1 with via 'cli': configure +++ config term Enter configuration commands, one per line.  End with CNTL/Z.

abcbezanr1(config)#do more abcconfig.old | s ip access-list extended TEST
abcbezanr1(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-SERVER log
 permit ip object-group BBB-MON object-group AAA-MON
 permit tcp 172.16.30.0 0.0.0.255 host 10.10.1.110 eq 443
 deny   ip any any log

Device: 3/4 | abcbrguar1

2022-12-12 13:01:00,400: %UNICON-INFO: +++ Unicon plugin ios (unicon.plugins.ios) +++ Warning: Permanently added '50.50.50.70' (RSA) to the list of known hosts.


2022-12-12 13:01:01,810: %UNICON-INFO: +++ connection to spawn: ssh -l qwerty 50.50.50.70 -p 22, id: 567891011121314 +++

2022-12-12 13:01:01,811: %UNICON-INFO: connection to abcbrguar1

################### Authorised access only #################
#---------This system is the property of abc----------#
#-Disconnect IMMEDIATELY if you are not an authorised user-#
#-----Contact soc@abc.com +12-345-489101 for help-----#
############################################################ Password: 

abcbrguar1#

2022-12-12 13:01:05,087: %UNICON-INFO: +++ initializing handle +++

2022-12-12 13:01:05,161: %UNICON-INFO: +++ abcbrguar1 with via 'cli': executing command 'term length 0' +++ term length 0 abcbrguar1#

2022-12-12 13:01:06,270: %UNICON-INFO: +++ abcbrguar1 with via 'cli': executing command 'term width 0' +++ term width 0 abcbrguar1#

2022-12-12 13:01:07,256: %UNICON-INFO: +++ abcbrguar1 with via 'cli': configure +++ config term Enter configuration commands, one per line.  End with CNTL/Z.

abcbrguar1(config)#do more abcconfig.old | s ip access-list extended TEST
abcbrguar1(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-SERVER log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 permit ip object-group BBB-MON object-group AAA-MON
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-USWA-SERVER
 permit ip 172.16.1.0 0.0.0.255 172.16.1.0 0.0.0.255
 permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
 deny   ip any any log

Device: 4/4 | abcbrguar2

2022-12-12 13:01:10,435: %UNICON-INFO: +++ Unicon plugin ios (unicon.plugins.ios) +++ Warning: Permanently added '50.50.50.80' (RSA) to the list of known hosts.


2022-12-12 13:01:11,891: %UNICON-INFO: +++ connection to spawn: ssh -l qwerty 50.50.50.80 -p 22, id: 789101112131415 +++

2022-12-12 13:01:11,892: %UNICON-INFO: connection to abcbrguar2

################### Authorised access only #################
#---------This system is the property of abc----------#
#-Disconnect IMMEDIATELY if you are not an authorised user-#
#-----Contact soc@abc.com +12-345-489101 for help-----#
############################################################ Password: 

abcbrguar2#

2022-12-12 13:01:15,086: %UNICON-INFO: +++ initializing handle +++

2022-12-12 13:01:15,156: %UNICON-INFO: +++ abcbrguar2 with via 'cli': executing command 'term length 0' +++ term length 0 abcbrguar2#

2022-12-12 13:01:16,146: %UNICON-INFO: +++ abcbrguar2 with via 'cli': executing command 'term width 0' +++ term width 0 abcbrguar2#

2022-12-12 13:01:17,138: %UNICON-INFO: +++ abcbrguar2 with via 'cli': configure +++ config term Enter configuration commands, one per line.  End with CNTL/Z.

abcbrguar2(config)#do more abcconfig.old | s ip access-list extended TEST
abcbrguar2(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 permit ip object-group BBB-MON object-group AAA-MON
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-USWA-SERVER
 permit eigrp host 172.16.1.2 host 224.0.0.10
 permit ip 172.16.1.0 0.0.0.255 172.16.1.0 0.0.0.255
 permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
 deny   ip any any log

This is the result I want to get:

qwerty@servername:~/access-list$ cat xx000
abcatlinr1(config)#do more abcconfig.old | s ip access-list extended TEST
ip access-list extended TEST
 10 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 20 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-SERVER log
 30 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 40 permit ip object-group BBB-MON object-group AAA-MON
 50 permit ip 10.10.10.0 0.0.0.31 172.16.1.0 0.0.0.255
 440 deny   ip any any
abcatlinr1(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 10 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 15 permit object-group WARP-ports object-group LOCAL-LAN object-group WARP-extern
 26 permit tcp host 172.16.2.0 any eq 443
 30 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 40 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 100 deny   ip any any

qwerty@servername:~/access-list$ cat xx001
abcbezanr1(config)#do more abcconfig.old | s ip access-list extended TEST
abcbezanr1(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-SERVER log
 permit ip object-group BBB-MON object-group AAA-MON
 permit tcp 172.16.30.0 0.0.0.255 host 10.10.1.110 eq 443
 deny   ip any any log

qwerty@servername:~/access-list$ cat xx002
abcbrguar1(config)#do more abcconfig.old | s ip access-list extended TEST
abcbrguar1(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-SERVER log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 permit ip object-group BBB-MON object-group AAA-MON
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-USWA-SERVER
 permit ip 172.16.1.0 0.0.0.255 172.16.1.0 0.0.0.255
 permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
 deny   ip any any log

qwerty@servername:~/access-list$ cat xx003
abcbrguar2(config)#do more abcconfig.old | s ip access-list extended TEST
abcbrguar2(config)#do more abcconfig.old | s ip access-list extended TRY
ip access-list extended TRY
 permit object-group Zscaler-ports object-group LOCAL-LAN object-group Zscaler-extern
 permit object-group MSTeams-udp object-group LOCAL-LAN object-group MSTeams-ranges-udp log
 permit object-group MSTeams-tcp object-group LOCAL-LAN object-group MSTeams-ranges-tcp log
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-VOICE-SERVER
 permit object-group AAA-VOICE-CLIENT-PORTS object-group LOCAL-LAN object-group AAA-VOICE-CLIENT
 permit ip object-group BBB-MON object-group AAA-MON
 permit object-group AAA-SERVER-PORTS object-group LOCAL-LAN object-group AAA-USWA-SERVER
 permit eigrp host 172.16.1.2 host 224.0.0.10
 permit ip 172.16.1.0 0.0.0.255 172.16.1.0 0.0.0.255
 permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255
 deny   ip any any log

I'm doing it using MTPuTTY, saved the file as access-list.txt.

I notice that config term and Password is a pattern, so I tried to do the following:

csplit access-list.txt '\config term\'
csplit access-list.txt '\config\'
csplit access-list.txt '\config term.*\'
csplit access-list.txt '\.*config term.*\'
csplit access-list.txt '\Password:\'
csplit access-list.txt '\.*Password:.*\'

but got an error csplit: \config term\: invalid pattern

When I checked the hexadecimal using hexdump -C access-list.txt I got the hexadecimal result, so there's no error on text itself.

Could anyone please help me with this? Thank you! :)

ella widya
  • 15
  • 5

0 Answers0