Python for Network Automation
Managing networks can be repetitive and error‐prone, but Python can make incredible changes to how you automate with all major (and most minor) network vendors. This course is driven by lessons and labs designed to utilize Python libraries designed to interact with and configure your network devices.
Training at a glance
Level
Intermediate
Duration
5 Days
Experience
2 years: Python
Average Salary
$139,971
Labs
Yes
Level
Intermediate
Duration
5 Days
Experience
2 years: Python
Average Salary
$139,971
Labs
Yes
Training Details
At the conclusion of this course, you’ll be empowered with the tools and skills necessary to take your network to the next level. This class is a combination of live demonstrations and hands‐on labs with virtual network devices and endpoints as targets for your configuration. Learn more about:
- Sending HTTP Requests to APIs with builtin and 3rd party libraries
- Opening Telnet Sessions with builtin libraries
- Automating SSH commands with Paramiko
- Performing ICMP Pings
- Transforming Data between JSON, YAML, and Python
- Retrieve and Push network device configuration via Netmiko and Napalm
- Use Pandas to manipulate data in a variety of formats (CSV, Excel, JSON)
- Database manipulation
- Capturing and Parsing Network Traffic
- Version Controlling Code
- Up and running with Python (installing on various platforms)
- Lists
- Dictionaries
- File Input and Output
- Functions
- Methods
- Review of the Standard Library
- Using pip and pypi.org
Lesson 2: Python and Data translation
- JSON – Reading from files – Reading from API
- YAML – Reading from files CSV – Reading from files
- Excel – Using pyexcel library – Using pandas library
Lesson 3: Python and RESTful APIs
- RESTful APIs decoded
- Reading attachments
- API keying
- Passing credentials securely
- Standard Library Solution
- 3rd party library solutions
Lesson 4: Automating SMTP and Extended SMTP (Email)
- SMTP
- Extended SMTP
- Automating Email solutions
- Setting headers and creating a body
- Attachments
- Google Gmail considerations
- Microsoft considerations
Lesson 5: Python and Telnet
- RFC 854 ‐ Telnet Protocol
- Standard Library Solution
Lesson 6: Python and SSH
- Standard Library Solution
- Paramiko – SSH Agents – Key exchange and authorization – Securing dealing with passwords – Configuration – SFTP
- Passing commands and capturing responses
- Parsing remote logs
Lesson 7: Automating Switches and Routers with Python
- Netmiko
- Push / Pull Configuration
- Retrieve information about devices
- Manage the devices configuration
- Connecting and Running a Command on a Networking Device
- Enable & Global Config Mode
- Configure a Networking Device from a File
- Configuration Backup using Netmiko
- VLAN & VXLAN management
- BGP & OSPF Management
- Solutions for HSRP, VRRP, and GLBP
Lesson 8: Automating Networks with Python NAPALM
- Installation
- Tutorials
- Validating deployments
- Supported Devices
- Command Line Tool
- NetworkDriver
- YANG
- napalm‐logs
- Integrations
Lesson 9: Python and Network Captures
- Wireshark
- TCPDump
- Decoding network captures with Python
- *.pcap files
- *.pcap‐ng files
- Parsing network captures
- Regular Expression Library
Lesson 10: Optimizations and Security
- Multiprocessing and Multithreading
- Examples of running in parallel
- Cost and Benefit Considerations
- Secure hashes and digests
- MD5, SHA, and OpenSSL Options
- Encrypting content
- Considerations for credentials
- Securely passing input
Lesson 11: Overview of Ansible (optional)
- Relationship of Ansible and Python
- Overview and Installing
- Where YAML fits
- Modules for Cisco, Juniper, Arista, and other major vendors
– shell, raw, copy, file, apt, service, cli_command, cli_config - Constructing the playbook
- Applications of Python versus Ansible
This includes:
Network Engineers, Network Architects, System Admins, DevOps Engi‐neers, Cisco Certified Professionals (CCNA, CCNP, CCIE), and developers interested in network programmability with Python.
- Python 101 ‐ Python Basics (5 days)
• Python 201 ‐ APIs and API Design with Python (5 days)
• Ansible 201 ‐ Python and Ansible for Network Automation (5 days)
• Terraform 101 ‐ Infrastructure as Code (3 days)
Upcoming Classes
We Offer More Than Just Python Training
That’s because we provide everything you need to succeed. This is true for all of our courses.
Strategic Planning & Project Management
From Lean Six Sigma to Project Management Institute Project Management Professional, Agile and SCRUM, we offer the best-in-class strategic planning and project management training available. Work closely with our seasoned multi-decade project managers.
IT & Cybersecurity
ATA is the leading OffSec and Hack the Box US training provider, and a CompTIA and EC-Council award-winning training partner. We offer the best offensive and defensive cyber training to keep your team ahead of the technology skills curve.
Leadership & Management
Let us teach your team the high-level traits and micro-level tools & strategies of effective 21st-century leadership. Empower your team to play to each others’ strengths, inspire others and build a culture that values communication, authenticity, and community.