책 이미지
책 정보
· 분류 : 외국도서 > 컴퓨터 > 프로그래밍 언어 > Python
· ISBN : 9781484268056
· 쪽수 : 866쪽
· 출판일 : 2021-05-25
목차
Chapter 1 ? Introduction to Python Network Automation
1. Exploring your skills and prerequisites
1.1 I am an IT engineer. I am never wrong
1.2 Living as an IT Professional in this day and age
1.2.1 General Competencies of three main IT Domain Groups
1.2.2 Comparative analysis of IT Engineers’ responsibilities
1.3 Python and Network Automation studies, where should I start?
1.3.1 Why do people want to learn Python?
1.4 What do I need to study network automation using Python?
1.5 Hardware - minimum specification for laptop
1.6 Software requirement
1.7 Building Network Automation Development Environment using GNS3
1.8 How to configure the lab environment?
1.9 Where can I find the source codes?
Chapter 2. Learn Python Basics on Windows
2.1 Python as a general development tool
2.2 “Hello, World!” and print() function in interactive mode
2.3 Before starting Python exercises
2.3.1 Understanding Data Type
2.3.2 Understanding Indentation and Code Blocks
2.3.3 Commenting
2.3.4 Python Naming Convention
2.4 Python exercises
2.4.1 Variables and Strings
Summary 1: Variable and string
2.2.2 Numbers and Arithmetic OperatorsSummary: Arithmetic operators
2.2.3 Booleans and Relational Operators
Summary: Boolean and Conditionals
2.2.4 Functions
Summary: Functions
2.2.5 lists
Summary: Lists and Loops
2.2.6 tuples
Summary: Tuples
2.2.7 Dictionary
Summary: Dictionary
2.2.8 Handling Files
Summary: Python file handling concept
2.2.9 Using Python Modules
Summary: Module concept
2.2.10 More Python exercises
Storytime 2 - Past, Present, and Future of automation
Chapter 3. VMware Workstation Basics
3.1 Introduction to VMware Workstation
3.1.1 Type-1 vs Type-2 hypervisors
3.1.2 Why VMware Workstation is recommended for personal lab building
3.2 Before using VMware Workstation
3.3 What’s next on VMware Workstation 15 Pro?
3.3.1 VMware Workstation 15 Pro user console
3.3.2 Basic Operations of VMware Workstation 15 Pro
3.3.3 VMware Workstation Menu
3.3.4 Virtual Network Adapters
3.4 Creating Virtual Machines (VMs)
3.4.1 Download and install Ubuntu 20 Server Image
3.4.2 Download and Install CentOS 8 Server Image
3.5 Creating GNS3 VM3.5.1 Download and install the GNS3 VM ova file
Break Time 3-The Origin of “hypervisor”
Chapter 4. Linux Basics
4.1 Why learn Linux?
4.1.1 Beginning of Linux
4.1.2 Understanding the Linux Environment
4.1.3 Understanding Linux Directories and File Formats
4.2 vi vs nano
4.2.1 vi - introduction
4.2.2 Nano - Introduction
4.3 Linux Basic Administrations
4.3.1 Changing hostname
4.3.2 Linux Basic File and Directory Commands
4.3.3 Linux Files and Directories Exercise 1
4.3.4 Linux File and Directory exercise 2
4.4 Linux Basic Administrations
4.4.1 Information on Linux ? kernel and distribution version
4.4.2 Information on Linux ? netstat command to validate TCP/UDP ports4.5 Installing TFTP, FTP, SFTP and NTP Servers
4.5.1 FTP Server Installation
4.5.2 Install SFTP Server
4.5.3 Installing the TFTP Server
4.5.4 Installing NTP Server
4.6 Linux TCP/IP Troubleshooting exercise
Break Time 4-Linux, the Engineer's Romance
Chapter 5. Regular Expression Basics
Regular expressions for Network Automation
5.1 Why regex?
5.1.1 to re or not to re5.2 How to study regular expression using Python?
5.2.1 Method 1 ? using Notepad++
5.2.2 Method 2 ? Use Linux shell
5.2.3 Method 3 ? Using Internet to study regular expression
5.3 Regex Operation ? The Basics
5.3.1 [ ] Character class
5.3.2 . (Dot - Single character match)
5.3.3 * (Star - Repetition)
5.3.4 + (Plus - Repetition)
5.3.5 {m, n} (From m to n - Repetition)
5.4 Python re module
5.4.1 Python re string methods
5.4.2 match object method5.5 Compile options
5.5.1 re.DOTALL (re.S)
5.5.2 re.IGNORECASE (re.I)
5.5.3 re.MULTILINE (re.M)
5.5.4 re.VERBOSE (re.X)
5.6 \ - confusing backslash character
5.7 Regular expression ? a little revision plus more
5.7.1 More metacharacters
5.8 Lookahead and Lookbehind Assertions5.8.1 Lookahead, lookbehind and non-capturing group
5.8.2 Practice more Lookarounds
5.8.3 Lookaround application examples
5.9 sub method - substituting strings
5.9.1 Substitute strings using sub
5.9.2 Using sub and \g to swap positions
5.9.3 Insert a function in sub method
Chapter 6. GNS3 Basics (Cisco IOS lab)
6.1 Installing GNS3 for the first time
6.1.1 Downloading GNS3 installation file
6.1.2 GNS3 Installation and Setup
6.2 Using GNS3 for the first time ? Cisco IOS & Windows Lab
6.2.1 Cisco IOS Software License and downloading an older Cisco IOS
6.2.2 Decompressing Cisco IOS for GNS3 use
6.2.3 Installing Cisco IOS on GNS3 VM
6.2.4 Creating an IOS lab Topology on GNS3 and connect to the internet
6.2.4 Installing MS Loopback Adapter
6.2.5 Accessing GNS3 network devices using MS loopback
6.3 Configuring GNS3 IOS router using python script from Windows Host PC
6.3 Cisco IOS and GNS3 Appliance lab
6.3.1 Importing and installing GNS3 Linux Appliance Server
6.3.2 Manually assigning IP address to GNS3 Linux Appliance Server
6.3.3 Use GNS3 Appliance Linux’s Python to manage R1 on live
6.4 Cisco IOS and Linux VM lab
6.4.1 Creating a new GNS3 project for Linux VM lab
6.4.2 Upload and download files to GNS3 IOS router from Linux VMs (File transfer Lab)
6.2.10 Copying (Cloning) a GNS3 project
Story time 5 - The origin of the word “Hypervisor”
Chapter 7. GNS3 Cisco CML-PERSONAL integration and CML-PERSONAL lab
Part 1 - Building Python Automation Lab Environment
7.1 Downloading and installing Cisco CML-PERSONAL L2 and L3 IOS images on GNS37.1.1 Cisco CML-PERSONAL Software License Information and Software Downloads
7.1.2 Downloading Cisco CML-PERSONAL IOSvL2 (Switch) Image
7.1.3 Downloading Cisco CML-PERSONAL IOSv (Router) Image and startup-config Files
7.1.4 Installing Cisco CML-PERSONAL L2 Switch and CML-PERSONAL L3 on GNS3
7.1.5 Installing Cisco CML-PERSONAL L2 Switch on GNS3
7.1.6 Installing Cisco CML-PERSONAL L3 Router on GNS37.1.7 Building CML-PERSONAL lab topology
Part 2 ? Python 3 Network Automation Labs
7.2 Python Network Automation Basics 1 ? Telnet labs
7.2.1 Telnet lab 1 - Interactive Telnet session to Cisco devices on Python Interpreter
7.2.2 Telnet lab 2 - Configuring a single switch with Python telnet template
7.2.3 Telnet lab 3 - Configure random vlans using a for loop7.2.4 Telnet lab 4 - Configure random vlans using a while loop
7.2.5 Telnet lab 5 - Configure 100 VLANs using “for ~ in range" loop method
7.2.6 Telnet lab 6 ? Add a privilege 3 user on multiple devices using IPs from an external file
7.2.7 Telnet lab 7- Making backups of running-config (or startup-config) to server local storage
7.3 Python Network Automation Basics 2 ? SSH paramiko labs
7.3.1 Paramiko lab 1 - Configure clock and time-zone of all devices via Python Interpreter interactive session
7.3.2 Paramiko lab 2- Configuring NTP server on Cisco devices without user interaction (NTP lab)
7.3.3 Paramiko lab 3 ? Create an interactive paramiko SSH script to save running configurations to TFTP server
7.4 Python Network Automation Basics 3 ? SSH netmiko labs
7.4.1 Netmiko lab 1 ? netmiko uses dictionary for device information, not a json object
7.4.2 Netmiko lab 2 ? Develop simple port scanner using socket module and then develop nemiko disable telnet script
7.4.3 Netmiko lab 3 ? Netmiko Lab - config compare
Storytime 6 ? Second-hand Cisco Routers and Switches are becoming junks
Chapter 8. Python Network Automation exploration labs ? Cron & SNMPv3
8.1 Cloning a GNS3 project for next lab
8.2 Quick-start to Linux Scheduler, Cron
8.2.1 Ubuntu 20.04 LTS task scheduler - crontab
8.2.2 CentOS8.1 task scheduler - crond
8.2.3 Learn cron job definitions with examples
8.3 Using Python to run SNMPv3 query
8.3.1 Quick start guide to SNMP8.3.2 Learn to SNMPwalk on Linux Server
8.3.3 Locating and borrowing an example Python SNMP code
Chapter 9. Python Network Automation Development Labs
9.1 Quick start guide to Ansible ? virtualenv lab 1
9.1.1 Installing virtualenv and getting started with Ansible
9.2 Quick start guide to pyATS (Genie) - VirtualEnv Lab 2
9.3 Sendmail lab using imported docker image
9.3.1 Docker components
9.3.2 Docker Account Registeration
9.3.3 Docker Installation
9.3.4 Test Driving Docker
9.3.5 Docker Sendmail Python Lab
9.3.6 Lab - Sendmail email Notification script development
9.4 CPU Utilization Monitoring lab - send SMS message using Twilio
9.4.1 TWILIO account creation, install twilio Python module and SMS message set-up
9.4.2 CPU utilization monitoring lab with SMS message
Chapter 10. Practical Python Network Automation lab ? IOS XE upgrade lab
10.1 Applying Object Orientated Programming (OOP) Concept to your network
10.2 Flow-control, controlling user input -UID, PWD and information collector
10.3 Lab preparation
10.3.1 CSR 1000v IOS XE software and download
10.3.2 Cisco CSR 1000v installation on VMware Workstation
10.4 Discussion of how an IOS (or IOS XE) is upgraded on Cisco devices
10.4.1 Tasks involved in Cisco IOS upgrade
10.5 Cisco IOS upgrade mini-tools development
10.5.1 Connectivity validation tool
10.5.2 Collect user’s login credentials and also user input
10.5.3 Collect new IOS filename and MD5 value from a csv file
10.5.4 Check MD5 value of new IOS on the server
10.5.5 Check flash size on Cisco device
10.5.6 Make backups of running-config, interface status and routing table
10.5.7 IOS uploading tool
10.5.8 Check the new IOS MD5 value on Cisco device’s flash
10.5.9 Options to stop or reload the routers
10.5.10 Check reloading device and perform post-reload configuration verification
10.6 Combining and completing Cisco IOS upgrade Application
Author’s final words?














