Back to Browse

Learn to write your own RegEx Parser :Cisco Configuration parser using Python RegEx Tutorial :Part 1

8.6K views
Mar 7, 2021
12:03

#RegEx python #RegexTutorial #ParseCiscoRegex Playlist: Learn to write your own RegEx Parser :Cisco Configuration parser using Python RegEx Tutorial https://www.youtube.com/playlist?list=PLOocymQm7YWY8Eksax8mjRSWbUijb7W93 Playlist: Python Learning for Network Engineers https://www.youtube.com/watch?v=sG_RiytUA38&list=PLOocymQm7YWakdZkBfCRIC06fv7xQE85N Playlist: Learn to Read Data From CSV Using Python https://www.youtube.com/watch?v=3XoVPJkHMFU&list=PLOocymQm7YWYpP_Qkju89vN8BykhvWO5U Playlist: Paramiko detailed explanation with Example for Network Engineers https://www.youtube.com/watch?v=A075aWJMAeM&list=PLOocymQm7YWYc73phqzbZ1S3ANrVVpUFN This video demonstrates how to parse Cisco configuration using python regular expression. re module uses, example of re.compile method how to create regular expression object how to parse interface configuration parse route details using regex fetch username using regex Python regex tutorial for network engineers regex tutorial for beginners regex basics and examples for cisco configuration parsing how to parse paramiko output using regex regex in python,regex tutorial,regex software,regex and parsing in python,regex advanced tutorial,regex advanced,regex basics,regex examples,regex expression python,regex function,regex function in python,regex for beginners,regex for ip address,regex sample for parsing,cisco regex example,device configuration parsing using regex,cisco parsing python,ssh parsing using regex,paramiko regex,interface config parsing regex,ip address parsing regex,parse route configuration regex,show run parsing python, Script ------------ #! /usr/local/Python_envs/Python3/bin/python3 import paramiko import time from getpass import getpass import re version_pattern = re.compile(r'Cisco .+ Software, Version (\S+)') model_pattern = re.compile(r'cisco (\S+).+bytes of memory\.') serial_no_pattern = re.compile(r'Processor board ID (\S+)') uptime_pattern = re.compile(r'(.+) uptime is (.*)') lab_csr = { 'host': 'csr1.test.lab', 'username': 'admin', 'password': 'admin' } devnet_csr = { 'host': 'ios-xe-mgmt-latest.cisco.com', 'username': 'developer', 'password': '****' } def cisco_parse_version(host,username,password): try: print(f"\n{'#' * 55}\nConnecting to the Device {host}\n{'#' * 55} ") SESSION = paramiko.SSHClient() SESSION.set_missing_host_key_policy(paramiko.AutoAddPolicy()) SESSION.connect(host, port=22, username=username, password=password, look_for_keys=False, allow_agent=False) DEVICE_ACCESS = SESSION.invoke_shell() DEVICE_ACCESS.send(b'term length 0\n') DEVICE_ACCESS.send(b'show ver\n') time.sleep(1) output = (DEVICE_ACCESS.recv(65000).decode('ascii')) version_match = version_pattern.search(output) print('IOS Version'.ljust(18)+': '+version_match.group(1)) model_match = model_pattern.search(output) print('Model '.ljust(18)+': '+model_match.group(1)) serial_no_match = serial_no_pattern.search(output) print('Serial Number '.ljust(18)+': '+serial_no_match.group(1)) uptime_match = uptime_pattern.search(output) print('Host Name '.ljust(18)+': '+uptime_match.group(1)) print('Device Uptime '.ljust(18)+': '+uptime_match.group(2)) print(f"\n{'#' * 55}\nFinished Executing Script\n{'#' * 55} ") SESSION.close() except paramiko.ssh_exception.AuthenticationException: print("Authentication Failed") except AttributeError: print("Parsing Error, Please check the command") except: print("Can not connect to Device") cisco_parse_version(**devnet_csr) ---------------

Download

0 formats

No download links available.

Learn to write your own RegEx Parser :Cisco Configuration parser using Python RegEx Tutorial :Part 1 | NatokHD