دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Brendan Choi
سری:
ISBN (شابک) : 9781484268063
ناشر: Apress
سال نشر: 2021
تعداد صفحات: 0
زبان: English
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 30 مگابایت
در صورت تبدیل فایل کتاب Introduction to Python Network Automation(2021)[Choi][9781484268063] به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب مقدمه ای بر اتوماسیون شبکه پایتون (2021) [چوی] [] نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Table of Contents
About the Author
About the Technical Reviewer
Acknowledgments
Introduction
Chapter 1: Introduction to Python Network Automation
Laying the Foundation
Exploring Your Skills and Prerequisites
General Competencies of Three Main IT Domain Group
Comparative Analysis of IT Engineers’ Responsibilities
Python and Network Automation Studies
Why Do People Want to Learn Python?
What Do I Need to Study Network Automation Using Python?
Hardware: Minimum Specifications for Laptop or PC
Software Requirements
Building a Network Automation Development Environment Using GNS3
Downloading Supplementary Guides and Source Code
Summary
Storytime 1: Mega Speed Shoe Factory
Chapter 2: Learn Python Basics on Windows
“Hello, World!” and print() Function in Interactive Mode
Preparing for the Python Exercises
Understanding Data Types
Indentation and Code Blocks
Explanation
Commenting
Explanation
Python Naming Convention
Doing the Python Exercises
Variables and Strings
Exercise 2-1: Create Variables and Assign Various Data Types
Explanation
Exercise 2-2: Create Variables and Use the print() Function to Print Output
Explanation
Exercise 2-3: Use Abbreviated Variable Assignment
Explanation
Exercise 2-4: Enter a String, Escape Character Backslash (\), and type() Function
Explanation
Exercise 2-5: Determine If a Variable Is a Container, a Tag, or a Pointer
Explanation
Exercise 2-6: Use String Indexing
Explanation
Exercise 2-7: Understand Variable Assignment Errors
Explanation
Exercise 2-8: Avoid “SyntaxError: EOL While Scanning String Literal”
Explanation
Exercise 2-9: Avoid “NameError: name ‘variable_name’ is not defined”
Explanation
Exercise 2-10: Avoid “SyntaxError: invalid syntax”
Explanation
Exercise 2-11: Avoid “TypeError: ‘str’ object is not callable”
Explanation
Exercise 2-12: Add Multiline Comments with Triple Quotation Marks
Explanation
Exercise 2-13: Use \ as an Escape Character to Remove Special Character Meanings
Explanation
Exercise 2-14: Enter (Inject) Values/Strings in a String Using %s
Explanation
Printing, Concatenating, and Converting Strings
Exercise 2-15: Use the print() and len() Functions to Create a Simple Function
Explanation
Exercise 2-16: Use the lower() and upper() String Methods
Explanation
Exercise 2-17: Perform String Concatenation and Use the str() Method
Explanation
Exercise 2-18: Learn to Change a String Using Curly Brackets and .format()
Explanation
Exercise 2-19: Adjust the Text Position with Curly Brackets and .format()
Explanation
Exercise 2-20: Adjust the Number of Decimal Places
Explanation
Exercise 2-21: Ask for and Receive User Input with input()
Explanation
Exercise 2-22: Change a Word or Characters in a String
Explanation
Recap: Variables and Strings
Numbers and Arithmetic Operators
Exercise 2-23: Use Arithmetic Operators
Explanation
Exercise 2-24: Understand Integers vs. Strings
Explanation
Recap: Arithmetic Operators
Booleans and Relational Operators
Exercise 2-25: Use Booleans
Explanation
Exercise 2-26: Use Relational Operators
Explanation
Exercise 2-27: Use Boolean Expressions to Test True or False
Explanation
Exercise 2-28: Use Logical (Membership) Operators
Explanation
Exercise 2-29: Change the Order of Operation with ()
Explanation
Control Statements: if, elif, and else
Exercise 2-30: Use if and else
Explanation
Exercise 2-31: Use if, elif, and else
Explanation
Exercise 2-32: Write Code with if, elif, and else
Explanation
Recap: Boolean and Conditionals
Functions
Exercise 2-33: Defining a Function
Explanation
Exercise 2-34: Assign Default Values to a Function
Explanation
Exercise 2-35: Define Hello and Goodbye Functions
Explanation
Exercise 2-36: Use the Odd or Even Function
Explanation
Exercise 2-37: Nest a Function Within a Function
Explanation
Recap: Functions
Lists
Exercise 2-38: Create a List and Index Items
Explanation
Exercise 2-39: Use append, extend, and insert in a List
Explanation
Slicing
Exercise 2-40: Slice a List
Explanation
Exceptions and Error Handling
Exercise 2-41: Avoid a ValueError Error
Explanation
Exercise 2-42: Handle Errors with try and except in a List
Explanation
Exercise 2-43: Find an Index of an Item in a List with the Customized Exception
Explanation
Practicing Lists
Exercise 2-44: Practice a List
Explanation
Using for Loops and while Loops
Exercise 2-45: Use the for Loop’s upper() and capitalize() Methods
Explanation
Exercise 2-46: Use the while Loop and len() Function
Explanation
Sorting and Ranges
Exercise 2-47: Use sort() vs. sorted() in a List
Explanation
Exercise 2-48: Link Two Lists
Explanation
Exercise 2-49: Find the List Length Using the len() Function
Explanation
Exercise 2-50: Use range() and the for Loop
Explanation
Exercise 2-51: Use the String List for loop() and range() with Arguments
Explanation
Recap: Lists and Loops
Tuples
Exercise 2-52: See Some Basic Tuple Examples
Explanation
Exercise 2-53: Convert a Tuple to a List
Explanation
Exercise 2-54: Determine Whether a Tuple Immutable
Explanation
Exercise 2-55: Convert a Tuple to a List and a List to a Tuple
Explanation
Exercise 2-56: Use a for Loop in a Tuple
Explanation
Exercise 2-57: Assign Multiple Variables to a Tuple
Explanation
Exercise 2-58: Create a Simple Tuple Function
Explanation
Exercise 2-59: Use Tuples as List Elements
Explanation
Recap: Tuples
Dictionaries
Exercise 2-60: Understand Dictionary Basics
Explanation
Exercise 2-61: Avoid a Dictionary TypeError and Convert Two Lists to a Single Dictionary
Explanation
Exercise 2-62: Use Keys to Print Values from a Dictionary
Explanation
Exercise 2-63: Change a Dictionary Value
Explanation
Exercise 2-64: Add a New Set of Keys and Values to a Dictionary
Explanation
Exercise 2-65: Find the Number of Dictionary Elements
Explanation
Exercise 2-66: Delete Dictionary Keys and Values
Explanation
Exercise 2-67: Write a Python Script with a Dictionary
Explanation
Exercise 2-68: Use a Dictionary for a Loop and Formatting
Explanation
Recap: Dictionaries
Handling Files
Exercise 2-69: Read and Display Hosts File from Your PC
Explanation
Exercise 2-70: Open and Close Hosts Files
Explanation
Exercise 2-71: Create Code to Close a File in Two Ways
Explanation
Exercise 2-72: Create a Text File, and Read, Write, and Print
Explanation
Exercise 2-73: Use rstrip() or lstrip() to Remove Whitespace
Explanation
Exercise 2-74: Python File Mode Exercise: Use r Mode
Explanation
Exercise 2-75: Python File Mode Exercise: Use r+ Mode
Explanation
Exercise 2-76: Python File Mode Exercise: Use a Mode
Explanation
Exercise 2-77: Python File Mode Exercise: Use a+ Mode
Explanation
Exercise 2-78: Python File Mode Exercise: Use w Mode
Explanation
Exercise 2-79: Python File Mode Exercise: Use w+ Mode
Explanation
Exercise 2-80: Python File Mode Exercise: Use x Mode
Explanation
Exercise 2-81: Python File Mode Exercise: Use x Mode
Explanation
Exercise 2-82: Open a Byte File in Python
Explanation
Exercise 2-83: Handle Errors with try and except
Explanation
Recap: Python file Handling Concept
Using Python Modules
Time Module
Exercise 2-84: Import the time Module
Explanation
Sleep Method
Exercise 2-85: Use the time.sleep() Function
Explanation
Exercise 2-86: Browse a Path Using the sys Module
Explanation
Exercise 2-87: Add a New Filepath Using the sys Module
Explanation
Exercise 2-88: Check Built-ins and sys.builtin_module
Explanation
Exercise 2-89: Use a Simple import sys Module in a try and except Exercise
Explanation
Exercise 2-90: Understand Lambdas by Making a Calculator
Explanation
Recap: Module Concepts
Summary
Chapter 3: More Python Exercises
Getting Ready for the Exercises
Exercise 3-1: Concatenate a List and a Tuple into a Single List
Explanation
Exercise 3-2: Use Python as a Calculator
Explanation
Exercise 3-3: Do Some Basic String format() Exercises
Explanation
Exercise 3-4: Ask for a Username
Explanation
Exercise 3-5: Get a Username: Version 1
Explanation
Exercise 3-6: Get a Username: Version 2
Explanation
Exercise 3-7: Get a Username: Version 3
Explanation
Exercise 3-8: Add a Temporary Filepath, Import ex3_7.py as a Module, and Run the Script
Explanation
Exercise 3-9: Use Commas to Add Spaces Between Strings
Explanation
Exercise 3-10: Practice if; if and else; and if, elif, and else
Explanation
Exercise 3-11: Practice for ~ in range with end=‘'
Explanation
Exercise 3-12: Practice for ~ in range
Explanation
Exercise 3-13: Practice for line in ~
Explanation
Exercise 3-14: Use the split() Method
Explanation
Exercise 3-15: Practice with lstrip(), rstrip(), strip(), upper(), lower(), title(), and capitalize()
Explanation
Exercise 3-16: Create a file and read it four different ways
Explanation
Exercise 3-17: Read and Output Files for a More Detailed Understanding
Explanation
Exercise 3-18: Use the getpass() Module and User Input
Explanation
Exercise 3-19: Understand the Difference Between Encoding and Decoding
Explanation
Exercise 3-20: Handle CSV Files in Python with the csv Module
Explanation
Exercise 3-21: Output a CSV File
Explanation
Exercise 3-22: Find the Price of a Cisco ISR 4331 Router from a CSV File
Explanation
Exercise 3-23: Calculate the Total Cost of the Router Purchases: No Module
Explanation
Exercise 3-24: Calculate the Total Cost of the Router Purchases: Using the csv Module
Explanation
Exercise 3-25: Convert dd-mmm-yy and Calculate the Difference in Days and Then in Years
Explanation
Exploring the Python IDE Environment
Summary
Storytime 2: Machine vs. Human, The First Confrontation
Chapter 4: Introduction to VMware Workstation
VMware Workstation at a Glance
Type-1 vs. Type-2 Hypervisors
VMware Workstation Pro for a Proof-of-Concept Lab
Before Using VMware Workstation
What’s Next on VMware Workstation 15 Pro?
VMware Workstation 15 Pro User Console
Basic Operations of VMware Workstation 15 Pro
VMware Workstation Pro: Basic Operations
VMware Workstation Menu
Virtual Network Adapters
Virtual Network Editor Overview
Virtual Network Interface Description
Revealing Each Virtual Network Interface Types
Host-Only Networking
Bridged Networking
Network Address Translation Networking
Summary
Chapter 5: Creating an Ubuntu Server Virtual Machine
Downloading and Installing a Ubuntu Server 20 Image
Downloading the Ubuntu Server 20.04 LTS Image
Installing Ubuntu Server 20.04 LTS
Logging In to a New Ubuntu Server 20 via SSH
Customize Ubuntu Server
Ubuntu VM Customization 1: Enable Root User SSH Login on Ubuntu Server 20.04
Ubuntu VM Customization 2: Install a Desktop GUI and Other Packages
Ubuntu VM Customization 3: Enable Root User GUI Access
Taking a Snapshot of a Virtual Machine
Cloning a Virtual Machine
Summary
Chapter 6: Creating a CentOS 8 Server Virtual Machine
Downloading and Installing a CentOS 8 Server Image
Downloading the CentOS 8 Server Image
Installing CentOS 8 Server
Logging In to a New CentOS 8 Server via SSH
Managing a Network Adapter on Linux
Creating a GNS3 VM by Importing an .ova File
Downloading and Installing the GNS3 VM from an .ova File
Summary
Storytime 3: The Origin of Hypervisors
Chapter 7: Linux Fundamentals
Why Learn Linux?
The Beginning of Linux
Understanding the Linux Environment
Understanding Linux Directories and File Formats
vi vs. nano
Introduction to vi
Basics of vi
Reopening a File in vi
Copying and Pasting a Line in vi
Undo Last in vi
Searching for Text in vi
Display the Line Number in vi
Introduction to nano
Installing nano
Create/Open a File with nano
Reopen a File with nano
Cut (Delete) and Paste with nano
String Search and Replacing String(s)
Customize nano for Python Coding
Linux Basic Administration
Changing the Hostname
Linux Basic File and Directory Commands
Linux File and Directory Exercises
Exercise 7-1
Exercise 7-2
Exercise 7-3
Linux File and Directory Exercise 7-2
Echo, Cat, More, and Less Command Exercise
ls Command with Options
Delete files and directories at once
Create a Python Application, Make Your File Executable, Add a Shebang, and Run the Application
Summary
Chapter 8: Linux Basic Administration
Information on Linux: Kernel and Distribution Version
Information on Linux: Use the netstat Command to Validate TCP/UDP Ports
Installing TFTP, FTP, SFTP, and NTP Servers
FTP Server Installation
Installing the SFTP Server
Installing the TFTP Server
Installing the NTP Server
Linux TCP/IP Troubleshooting Exercise
Summary
Storytime 4: Becoming a Savvy Linux Administrator, Perhaps Every IT Engineer’s Dream?
Chapter 9: Regular Expressions for Network Automation
Why Regex?
To re or Not to re
Studying Regular Expressions Using Python
Method 1: Using Notepad++
Method 2: Using the Linux Shell
Regular Expression Breakdown: [A-Z]{3}\d{4}[/]\w+
Method 3: Using the Internet to Study Regular Expressions
Regex Operation: The Basics
Character Class ([])
Dot (.): Single Character Match
Asterisk (*): Repetition
Plus (+): Repetition
{m, n}: Repetition
{m}
{m, n}
? (Question Mark: Repetition)
Python’s re Module
Python re String Methods
re.match()
re.search()
re.findall()
re.finditer()
Match Object Method
Compile Options
re.DOTALL (re.S)
re.IGNORECASE (re.I)
re.MULTILINE (re.M)
re.VERBOSE (re.X)
\: Confusing Backslash Character
Regular Expressions: A Little Revision Plus More
More Metacharacters
OR Operator (|)
^ and $ (Anchors)
\A and \Z
\b and \B
Grouping
Regular Expression Named Groups
Lookahead and Lookbehind Assertions
Lookahead, Lookbehind, and Noncapturing group
Practice More Lookarounds
Lookaround Application Examples
sub Method: Substituting Strings
Substitute Strings Using sub
Using sub and \g to Swap Positions
Insert a Function in sub Method
Summary
Chapter 10: GNS3 Basics
GNS3 at a Glance
Installing GNS3 for the First Time
Downloading the GNS3 Installation File
GNS3 Installation and Setup
GNS3 Installation
GNS3 Setup Procedures
Getting Familiar with GNS3
GNS3 Menus and GUI
Gracefully Shutting Down GNS3 and GNS3 VM
Starting GNS3 as an Administrator
Using GNS3 for the First Time: Cisco IOS and Windows Lab
Cisco IOS Software License and Downloading an Older Cisco IOS
Decompressing Cisco IOS for GNS3 Use
Decompressing Cisco IOS Using the Unpack.exe Method
Decompressing Cisco IOS Using Dynamips Method (Optional)
Installing Cisco IOS on the GNS3 VM
Creating an IOS Lab Topology on GNS3 and Connecting to the Internet
Installing the Microsoft Loopback Adapter
Accessing GNS3 Network Devices Using MS Loopback
Configuring the GNS3 IOS Router Using a Python Script from the Windows Host PC
Cisco IOS and GNS3 Appliance Lab
Importing and Installing the GNS3 Linux Appliance Server
Manually Assigning IP Address to GNS3 Linux Appliance Server
Using the GNS3 Appliance Linux’s Python to Manage R1
Summary
Chapter 11: Cisco IOS Labs
Cisco IOS and the Linux VM Lab
Creating a New GNS3 Project for the Linux VM Lab
Uploading and Downloading Files to the GNS3 IOS Router from Linux VMs (File Transfer Testing Lab)
Copying (Cloning) a GNS3 Project
Summary
Chapter 12: Building a Python Automation Lab Environment
Cisco CML-PERSONAL Software License Information and Software Downloads
Downloading the Cisco CML-PERSONAL IOSvL2 (Switch) Image
Downloading the Cisco CML-PERSONAL IOSv (Router) Image and startup_config Files
Installing the Cisco CML-PERSONAL L2 Switch and CML-PERSONAL L3 on GNS3
Installing the Cisco CML-PERSONAL L2 Switch on GNS3
Quick Communication Test on CML L2 Switch Integration on GNS3
Installing the Cisco CML-PERSONAL L3 Router on GNS3
Quick Communication Test on CML L3 Router Integration on GNS3
Building a CML-PERSONAL Lab Topology
Summary
Chapter 13: Python Network Automation Lab: Basic Telnet
Python Network Automation: Telnet Labs
Telnet Lab 1: Interactive Telnet Session to Cisco Devices on a Python Interpreter
Telnet Lab 2: Configure a Single Switch with a Python Telnet Template
Telnet Lab 3: Configure Random VLANs Using a for Loop
Telnet Lab 4: Configure Random VLANs Using a while Loop
Telnet Lab 5: Configure 100 VLANs Using the for ~ in range Loop Method
Telnet Lab 6: Add a Privilege 3 User on Multiple Devices Using IP Addresses from an External File
Telnet Lab 7: Taking Backups of running-config (or startup-config) to Local Server Storage
Summary
Chapter 14: Python Network Automation Labs: SSH paramiko and netmiko
Python Network Automation Labs Using the paramiko and netmiko Libraries
Python SSH Labs: paramiko
paramiko Lab 1: Configure the Clock and Time Zone of All Devices Interactively in the Python Interpreter
paramiko Lab 2: Configuring an NTP Server on Cisco Devices Without User Interaction (NTP Lab)
paramiko Lab 3: Create an Interactive paramiko SSH Script to Save Running Configurations to the TFTP Server
Python SSH Labs: netmiko
netmiko Lab 1: netmiko Uses a Dictionary for Device Information, Not a JSON Object
netmiko Lab 2: Develop a Simple Port Scanner Using a Socket Module and Then Develop a nemiko Disable Telnet Script
netmiko Lab 3: config compare
Summary
Chapter 15: Python Network Automation Labs: cron and SNMPv3
Cron and SNMPv3 Labs
Cloning a GNS3 Project for the Next Lab
Quick-Start to the Linux Scheduler, cron
Ubuntu 20.04 LTS Task Scheduler: crontab
CentOS8.1 Task Scheduler: crond
Learn cron Job Definitions with Examples
Using Python to Run an SNMPv3 Query
Quick-Start Guide to SNMP
Quick SNMP History
SNMP Standard Operation
SNMP Polling vs. Trap (Event Reporting) Method
SNMP Versions
Understanding the SNMP Protocol in the TCP/IP Stack
About SNMP Message Types
Understanding SNMP’s SMI, MIB, and OID
SNMP Access Policy
Synchronous vs. Asynchronous Communication While Using SNMP Traps
SNMP-Related Python Libraries
Understanding MIBs and OIDs and Browsing OIDs Directly
Learn to Use SNMPwalk on a Linux Server
Installing and Configuring SNMP Server on CentOS8
Configuring Cisco Routers and Switches to Support SNMPv3 Using a Python Script
SNMPwalk from Linux Server
Borrowing Some Example Python SNMP Code
SNMP Lab Source Code
SNMPv3 Python Code to Query Cisco Device Information
Using Python SNMP Code to Run a Query for an Interface Description
Summary
Chapter 16: Python Network Automation Labs: Ansible, pyATS, Docker, and the Twilio API
Python Network Automation Development Labs
Quick-Start Guide to Ansible: virtualenv Lab 1
Installing virtualenv and Getting Started with Ansible
Quick-Start Guide to pyATS (Genie): VirtualEnv Lab 2
Sendmail Lab Using an Imported Docker Image
Docker Components and Account Registration
Docker Installation
Test-Driving Docker
Docker Sendmail Python Lab
Lab: Sendmail Email Notification script Development
CPU Utilization Monitoring Lab: Send an SMS Message Using Twilio
TWILIO Account Creation, Install Twilio Python Module and SMS Message Setup
CPU Utilization Monitoring Lab with an SMS Message
Summary
Chapter 17: Upgrading Multiple Cisco IOS XE Routers
Practical Python Network Automation Lab: IOS XE Upgrade Lab
Applying OOP Concepts to Your Network
Flow Control and Controlling User Input: UID, PWD, and Information Collector
Lab Preparation
CSR 1000v IOS XE Software and Download
Cisco CSR 1000v Installation on VMware Workstation
Discussion of How an IOS (IOS-XE/XR) Is Upgraded on Cisco Devices
Tasks Involved in a Cisco IOS Upgrade
Summary
Chapter 18: Python Network Automation Lab: Cisco IOS Upgrade Mini Tools Development
Cisco IOS Upgrade Application Development
Part A: Pre-check Tools Development Connectivity Validation Tool
Collect User’s Login Credentials and User Input
Collect a New IOS Filename and MD5 Value from a CSV File
Check the MD5 Value of the New IOS on the Server
Check the Flash Size on Cisco Routers
Make Backups of running-config, the Interface Status, and the Routing Table
Part B: IOS Uploading and More Pre-check Tools Development
IOS Uploading Tool
Check the New IOS MD5 Value on the Cisco Device’s Flash
Options to Stop or Reload the Routers
Check the Reloading Device and Perform a Post-Reload Configuration Verification
Summary
Chapter 19: Python Network Automation Labs: Combining and Completing the Cisco IOS Upgrade Application
Creating a Single Python File
Summary
Final Words
Index