دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 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