
Learn practical network automation with Python 3 by quickly configuring and automating devices, starting to automate to build topologies in GNS3 with hands on labs and later Python theory.
Join the Discord server to consolidate support for this course and others, get faster answers, and collaborate with fellow students beyond Udemy's Q&A.
Learn practical Udemy interface tips to enhance learning: adjust playback speed, captions, transcripts, resources, notes, offline downloads, and keyboard shortcuts for questions and announcements.
Download and install the Gns3 2.2 GUI on Windows, configure the Windows client and Gns3 VM, and choose a hypervisor such as VirtualBox, VMware, ESXi, or Hyper-V.
learn to download, install, and pair the Gns3 gui with the Gns3 vm on Windows using VMware Workstation Pro, ensuring version 2.2.0 compatibility and nested virtualization.
Build a Cisco iOS topology in Gns3 using iOS images, including routers, switches, and Docker containers, by integrating the Gns3 vm and qemu for virtualization and testing inter-router connectivity.
Learn to download and install Cisco VIRL 2.0 on Windows 10 with VMware Player, importing the OVA and ISO images. Understand licensing and 20-device topology limits.
Learn to license and deploy Cisco Viral 2.0, configure routers and switches in a live topology, and verify connectivity with commands like ping and OSPF adjacency.
Learn to set up Cisco images in EVE-NG by downloading iOS V and iOS Layer 2 images, converting VMDK to QCOW2, uploading with WinSCP, and building a router topology.
Access free Cisco Modeling Labs via the Cisco DevNet sandbox with the AnyConnect VPN, build your own topology or use a prebuilt one, with four-hour reservations.
Set up a quick start GNS3 lab with the network automation container and Nat cloud to boot iOS V routers and Layer 2 switches, enabling automated testing.
Learn to build a Python Telnet script in a network automation container, using getpass and the Telnet library to log in, enable, and configure a router and loopback interface.
Use Python 3 to run a Telnet script that configures a router, creates loopback interfaces, and enables OSPF, demonstrating basic network automation for Cisco devices.
Telnet into the switch from the network automation container, configure vlan one with an ip address, and use Python scripts to create VLANs two through five.
Learn how to automate VLAN creation on Cisco switches with Python loops and range, replacing manual scripts. Master indentation and four-space spacing to define loop blocks and prevent syntax errors.
Follow the Python pep8 style guide to write readable code with four-space indentation and consistent quoting. Use either single or double quotes and pick a rule and stick to it.
Automate switch vlan creation with a Python loop, converting integers to strings, encoding as ASCII, and telnetting to configure, name, and save VLANs across switches.
Extend a gns3 topology by adding five switches and automating them with a network automation container, using an out-of-band management network and basic connectivity tests.
Extend a Python network automation script to read switch IPs from a file, telnet to multiple devices, and configure VLANs using a loop with spaces stripped.
Automate vlan creation across multiple switches with Python 3 using telnet, looping through a list of IP addresses, and expanding the script to add more vlans.
Reuse a loop-based script to automate VLAN creation across multiple switches by reading IPs from a file and telnetting to each switch, then saving configurations.
Learn to back up the running configurations of network devices with a concise Python script that telnets to switches, uses terminal length zero, and saves outputs.
Explore netmiko as a multi vendor ssh tool for network devices, comparing it to Paramiko and highlighting supported devices, open source resources, and how to automate with Python.
Configure switches to support ssh by creating a username and password, enabling ssh on vty lines, and generating keys; test ssh from the network automation container and accept public key.
Execute a Netmiko SSH script to configure a switch using a Python dictionary and send configuration commands, then print outputs. Show ip interface brief to verify loopback and VLAN creation.
Explore automating multi-switch network config with Netmiko over SSH using Python dictionaries and lists to connect to Cisco IOS switches and create 20 VLANs per device.
Connect to three switches with Netmiko and Python, run a script that creates 20 VLANs on each, and verify VLAN status with show vlan brief via SSH.
Separate Cisco commands from Python code by storing them in external files, then load and apply to multiple devices via Netmiko, enabling global switch configuration, interface configs, and VLAN setups.
Uses a Python Netmiko script to push a master configuration from a network automation server to switches four, five, and six, reapplying VLAN and interface settings.
Automate configuring core and access switches with Net Meco by applying the Cisco design guide to access ports and trunks, plus a layer two core configuration across switches.
Use Netmiko with Python 3 to automate applying trunk and access port configurations to core and access switches. Speed up deployments with process pools and note potential spanning tree issues.
Napalm is an open source Python library that abstracts multi-vendor network devices with a unified API, enabling simple automation and cross-vendor configuration management.
Master napalm and netmiko workflows in Python 3 to automate networks, retrieve a switch's operating system version, hostname, and interfaces, using updated scripts and bracketed prints.
Update apt references, install Python and pip, then install cryptography and netmiko as prerequisites for napalm, upgrade pip, install napalm with pip, and note you can limit vendors.
Create a napalm python script to connect to a Cisco iOS switch via ssh using get_network_driver, set the ip and credentials, and retrieve facts with get_facts while troubleshooting the connection.
Use napalm to fetch switch data and format it with json.dumps for readable output. Display facts, interfaces, vlan/svi details, uptime, hostname, fqdn, and vendor information across multiple devices.
Learn to retrieve mac address table and arp cache from network devices using Napalm in Python, with cross-vendor support and a simple script.
Napalm retrieves BGP neighbors from Cisco IOS devices using the get_bgp_neighbors command in a Python script that outputs JSON.
Using Python with NAPALM, configure BGP on a switch, establish a neighbor, and run the script to retrieve BGP neighbors, see the routing table, and verify advertised and received prefixes.
Use napalm to retrieve BGP neighbor information, observe a non-existent neighbor and a down neighbor with uptime -1, and verify ipv4 address family shows no prefixes exchanged.
Learn how to use Napalm with Python to query multiple devices for BGP neighbors and summaries, printing neighbor relationships across Cisco IOS devices.
Illustrates using napalm with an ubuntu docker container to query cisco ios bgp neighbors and format the show ip bgp summary output as json for network engineers.
Extend a Napalm script to collect BGP neighbor information from multiple routers by iterating a device list with a for loop, retrieving data, and formatting JSON.
Use napalm to push and merge ACL configuration on a Cisco IOS switch, then commit changes and explore Ansible-driven OS-agnostic device management.
Use napalm to check whether an access control list exists, compare candidate and running configs, and commit or discard changes, then add missing lines and save the switch configuration.
use napalm with Python to audit device configurations, print differences, save them to a file, and verify discrepancies before manual updates.
Load multiple config files with napalm to configure access lists and OSPF. Verify with show ip protocols and show run, then automatically fix issues across multiple devices.
Leverage Napalm with Python to loop through multiple devices, load ACL and OSPF configs, commit when changes exist, discard when not, and audit configurations across a network.
Iterate Python Netmiko scripts to manage multiple devices by reading commands and device IPs from files, prompting for credentials, and handling errors with exceptions.
Build a basic Netmiko script to connect to a Cisco IOS switch, run show ip interface brief, and print the command output.
Use netmiko to automate sending commands read from a file to a network switch via SSH; iterate over devices and build configurations, including OSPF and user management.
Extend automation by loading a devices file with IP addresses and a commands file, then iterate with a for loop to configure multiple devices via Netmiko.
Replace hardcoded credentials with getpass prompts and a credentials dictionary, then use Netmiko to connect to devices from a devices file, run commands, print output, and observe ospf neighbor changes.
Build robust Netmiko scripts with try/except blocks to handle authentication errors, timeouts, and SSH problems, so the script continues across devices instead of failing.
Extend the netmiko script to detect device types via show version and run type-specific commands for Cisco iOS V layer two switches and routers, including VLAN creation on switches.
Iterate device-specific configurations in a Netmiko script by loading separate command sets for iOS routers, switches, and a physical router, with error handling to ensure correct application.
Learn to encrypt a CSV of device credentials with the Python simple-crypt module, using the encrypt and decryption functions, then decrypt to verify results.
Read a devices file and decrypt encrypted device credentials to connect to network devices, then pull each device's running configuration with type-specific commands and store results in a device dictionary.
Learn to use Netmiko for sequential ssh to devices, determine device type (Juniper, Cisco IOS, XR), run the appropriate show commands, and save running configurations to files.
Use Netmiko multithreading to connect to multiple devices in parallel, retrieve running configurations, and save them locally with a worker function that speeds up data collection.
Demonstrates using a thread pool to limit concurrent connections to many devices, avoiding thousands of threads while retrieving and saving device configurations.
This course presents concise Python theory topics in short videos, building blocks like the OSI model and TCP/IP concepts to establish a solid foundation for future scripts.
Compare learning Python to mastering tcp/ip and Cisco commands, emphasizing mode, accurate spacing, and context to read the running config. Keep practicing and persevere to become fluent in network programming.
set up a gns3 s3 project with ubuntu devices and a switch, configure dhcp, and install python 2.7 and python 3, emphasizing both versions for real-world network engineering.
Explore the Python interactive interpreter to test small programs and see immediate results, compare Python 2.7 and 3 print syntax, practice strings, concatenation, and basic variables for scripts.
Write a basic hello world Python 3 script with nano on Linux, save as script1.py, and run python3 script1.py to display hello world, then compare with the interactive interpreter.
Learn Network Programmability and Network Automation using GNS3 and Python version 3.
This course is based on Python 3.
Want to program networks using Python, but not sure where to start? Well, this course will show you how you can start programming Cisco networks within 20 minutes.
This course was created for network engineers. There are too many other Python courses out there that try to make network engineers software developers. Instead of teaching network automation, they teach you Python theory. This course is different.
This course is practical. I won't talk about programming in abstract terms and make you wait before you can start automating networks. I will show you how you can quickly and easily start network programming by using GNS3, Cisco IOS and Python.
You will see demonstrations of the configuration of both Cisco routers and switches in GNS3. For example, how to configure multiple VLANs on a multiple switches, or how to configure OSPF on a router and more.
This course shows you practical examples of using Python to programmatically configure Cisco network devices rather then just talking about it.
The days of configuring Cisco networks only with the command line interface (CLI) are drawing to a close. You need to add network programmability using Python and APIs to your skill set.
Learn how to automate networks using:
- Telnet
- SSH
- Paramiko
- Netmiko
- NAPALM
Tools such as NAPALM and Netmiko make it easy to configure and interact with network devices using an API such as NETCONF or using SSH. Don't reinvent the wheel. Use the tools available to you to quickly and easily automate your networks.
Some comments about the course:
"Knowing the material from just the first video would have saved me hours of work and rework in the past."
"It's the easiest, most fun, and most valuable course I've completed yet on Python Programming for Networking. Love it! Thanks again David!!!"
"Excellent course on Network Programming using Python with lot's of practical network configuration examples."
"Great way of explanation.Nice video and inspiring words! Thank you so much David. You are genius."
"I've been doing network automation for a while, even so, I've learned new things through this course. The instructor start from a basic example, adding improvements in each step. It's a skill that's worth it."
"A must for all network engineers who want to learn python!!! I had very "very" basic programming skills, and couldn't just get the bridge between network and programming (mainly Python - since that's where the hype is now), this course was amazing, I have never been glued to a training course since I can remember. The couple of things I loved the most about this course: 1- David's clear voice. 2- Real world application, not only will David interduce different real-world practical modules that you can import and use, but he shows you how to apply them on ios devices."
"Excellent course on Network Programming using Python with lot's of practical network configuration examples. High quality content."