Low-Level Network Device Interactions

In Chapter 1, Review of TCP/IP Protocol Suite and Python Language, we looked at the theories and specifications behind network communication protocols, and we took a quick tour of the Python language. In this chapter, we will start to dive deeper into the management of these network devices. In particular, we will examine the different ways in which we can use Python to programmatically communicate with legacy network routers and switches.

What do I mean by legacy network routers and switches? While it is hard to imagine any networking device coming out today without an Application Program Interface (API) for automating tasks, it is a known fact that many of the network devices deployed today do not have APIs. The only way to manage them is through Command Line Interfaces (CLI) using terminal programs, which originally were developed with a human engineer in mind. As the number of network devices increases, it becomes increasingly difficult to manually manage them one by one. Python has two great libraries that can help with these tasks, so this chapter will cover Pexpect and Paramiko. In this chapter, we will take a look at the following topics:

  • The challenges of CLI
  • Constructing a virtual lab
  • The Python Pexpect library
  • The Python Paramiko library
  • The downsides of Pexpect and Paramiko

 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.141.3.175