Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Mastering Python Networking

You're reading from   Mastering Python Networking Your one stop solution to using Python for network automation, DevOps, and SDN

Arrow left icon
Product type Paperback
Published in Jun 2017
Publisher Packt
ISBN-13 9781784397005
Length 446 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Author (1):
Arrow left icon
Eric Chou Eric Chou
Author Profile Icon Eric Chou
Eric Chou
Arrow right icon
View More author details
Toc

Table of Contents (14) Chapters Close

Preface 1. Review of TCP/IP Protocol Suite and Python Language 2. Low-Level Network Device Interactions FREE CHAPTER 3. API and Intent-Driven Networking 4. The Python Automation Framework - Ansible Basics 5. The Python Automation Framework - Ansible Advance Topics 6. Network Security with Python 7. Network Monitoring with Python - Part 1 8. Network Monitoring with Python - Part 2 9. Building Network Web Services with Python 10. OpenFlow Basics 11. Advanced OpenFlow Topics 12. OpenStack, OpenDaylight, and NFV 13. Hybrid SDN

Network dynamic operations


Our API can now provide static information about the network; anything that we can store in the database can be returned to the user. It would be great if we can interact with our network directly, such as query the device for information or push configuration changes to the device.

We will start this process by leveraging the script we have already seen in Chapter 2, Low-Level Network Device Interactions for interacting with a device via Pexpect. We will modify the script slightly into a function we can repeatedly use in chapter9_pexpect_1.py:

# We need to install pexpect for our virtual env
$ pip install pexpect

$ cat chapter9_pexpect_1.py
import pexpect

def show_version(device, prompt, ip, username, password):
    device_prompt = prompt
    child = pexpect.spawn('telnet ' + ip)
    child.expect('Username:')
    child.sendline(username)
    child.expect('Password:')
    child.sendline(password)
    child.expect(device_prompt)
    child.sendline('show version...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime