Netmiko by Example Course

Course Starts June 11

Starter Package

  • Twelve lessons including videos and exercises
  • Lab Environment

Plus Package

  • Twelve lessons including videos and exercises
  • Lab Environment
  • Community Forum

If you are not happy with the course, there is a 15-day money back guarantee. No questions asked.

Student Testimonials

Thanks to Kirk for always being responsive to students' questions. Kirk actually cares and takes the time to address any course concerns you may have.

—March 2021

Course Syllabus

CLASS1 - Installation and Basic Connections

  • Netmiko Installation
  • Simple Connection
  • Using the Session Log
  • Connect using a Dictionary
  • Connect using a Context Manager
  • Determining the Device Type

CLASS2 - Logging and Show Command Basics

  • Logging
  • Connecting to Multiple Devices using a For-Loop
  • Executing Show Commands (basics)
  • Using send_command() with an expect_string
  • Using send_command_timing()

CLASS3 - Parsers

  • The Parsing Problem
  • Textfsm, ntc-templates, and Netmiko
  • Genie
  • TTP

CLASS4 - Delay Factor and Multiline Prompting

  • delay_factor and global_delay_factor
  • Handling Prompts using an Expect String
  • Handling Prompts using send_command_timing()

CLASS5 - Configuration Changes

  • Making Configuration Changes using send_config_set()
  • send_config_from_file()
  • Configuration and Handling Special Prompts
  • cmd_verify and global_cmd_verify

CLASS6 - SSH Keys, Agent, and Proxying

  • Using SSH Keys
  • SSH Keys and a Passphrase
  • Using an SSH Agent
  • Connecting via a Jump Host

CLASS7 - Connection Failures, Timeouts, and Retries

  • Timeouts
  • Timeouts and Exceptions
  • Retrying Authentication Failures
  • Handling Connection Exceptions (Example)

CLASS8 - Concurrency

  • Concurrency versus Parallelism
  • Threads
  • Multiple Processes

CLASS9 - Secure Copy

  • Secure Copy Overview
  • file_transfer() Function
  • MD5 Verification
  • Put
  • Get
  • Progress Bar
  • Inline Transfer and Cisco IOS

CLASS10 - Autodetect, Telnet, and write_channel/read_channel

  • SSH Autodetection
  • SNMP Autodetection
  • Netmiko and Telnet
  • write_channel() and read_channel()

CLASS11 - Terminal Servers and Redispatch

  • Connecting to a Terminal Server
  • Logging in to the End-Device
  • Redispatch

CLASS12 - Other Methods

  • fast_cli
  • enable()
  • config_mode() and exit_config_mode()
  • commit()

*Subject to change (although any changes should be minor).


What is the format of the course?

The course is a four week, email-course. You will receive three lessons on a Monday, Wednesday, Friday schedule. The lessons will contain videos, additional content, and exercises. We will post reference solutions to the exercises online. The Plus Package will have a community forum where you can ask questions, post code, and interact with us and with the other students.

Is there a lab environment?

Yes, the lab environment will consist of a set of virtual and physical network devices and at least one AWS-Linux server. We will install a set of libraries in the lab environment; this will enable you to get working quickly. The lab environment will have a mixture of vendors and platforms (Cisco IOS/IOS-XE, Cisco NX-OS, Juniper, and Arista).

What are the prerequisites for the course?

You should be familiar with the basics of Python. You can be slow at writing Python code, but these ideas should not be new to you.

You also need to be familiar with basic network engineering (routing, switching, Cisco CLI configuration).

Finally, since the lab environment will use Linux. You should be at least somewhat familiar with Linux. You should know the basics of how to move around the file system, execute a script, and edit a file.

What is Netmiko and why should I care?

Netmiko is a Python library that simplifies automating legacy devices using SSH. Netmiko supports a very broad-set of networking platforms and also enables the use of fairly simple code patterns for automation.

What is the community forum?

The community forum is a forum where students can interact, post code, ask questions, and make recommendations. Students that purchase the Plus Package will have access to the community forum for the duration of the course.

What if I am unsatisfied with the course after I sign-up?

If you are not satisfied with the course, there is a 15-day money back guarantee (from the start of the course). No questions asked.

Kirk in Angwin Image

About Us:

Kirk Byers

Kirk Byers is the founder of Twin Bridges Technology–a small business specializing in network automation training. He is the creator of the Netmiko Python library and also one of the maintainers of the NAPALM project.

He teaches Python, Ansible, and Nornir courses for Network Engineers and writes about network automation at He is a long-time network engineer (CCIE #6243 emeritus), has extensive experience with *nix system administration, and is a Python programmer. He is interested in programming and networking and how to improve network engineering practices through automation.

Netmiko by Example Course

Course starts June 11

Starter Package

  • Twelve lessons including videos and exercises
  • Lab Environment

Plus Package

  • Twelve lessons including videos and exercises
  • Community Forum
  • Lab Environment