Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Python Network Programming

You're reading from   Python Network Programming Conquer all your networking challenges with the powerful Python language

Arrow left icon
Product type Course
Published in Jan 2019
Publisher Packt
ISBN-13 9781788835466
Length 776 pages
Edition 1st Edition
Languages
Tools
Concepts
Arrow right icon
Authors (4):
Arrow left icon
Dr. M. O. Faruque Sarker Dr. M. O. Faruque Sarker
Author Profile Icon Dr. M. O. Faruque Sarker
Dr. M. O. Faruque Sarker
Eric Chou Eric Chou
Author Profile Icon Eric Chou
Eric Chou
Abhishek Ratan Abhishek Ratan
Author Profile Icon Abhishek Ratan
Abhishek Ratan
Pradeeban Kathiravelu Pradeeban Kathiravelu
Author Profile Icon Pradeeban Kathiravelu
Pradeeban Kathiravelu
Arrow right icon
View More author details
Toc

Table of Contents (30) Chapters Close

Title Page
Copyright
About Packt
Contributors
Preface
1. Fundamental Concepts 2. Python for Network Engineers FREE CHAPTER 3. Continuous Integration for Network Engineers 4. SDN Concepts in Network Automation 5. Low-Level Network Device Interactions 6. APIs and Intent-Driven Networking 7. The Python Automation Framework – Ansible Basics 8. The Python Automation Framework – Beyond Basics 9. AWS Cloud Networking 10. Working with Git 11. Sockets, IPv4, and Simple Client/Server Programming 12. Multiplexing Socket I/O for Better Performance 13. IPv6, Unix Domain Sockets, and Network Interfaces 14. Programming with HTTP for the Internet 15. Email Protocols, FTP, and CGI Programming 16. Programming Across Machine Boundaries 17. Working with Web Services – SOAP, and REST 18. Network Monitoring and Security 19. Network Modeling 20. Authentication, Authorization, and Accounting (AAA) 21. Open and Proprietary Networking Solutions 22. NFV and Orchestration – A Larger Ecosystem 23. Programming the Internet 1. Other Books You May Enjoy Index

Index

A

  • Access Control Lists (ACLs) / OpenFlow, Security groups and the network ACL
  • Access Point (AP) / Configuring Cisco switchport for access point
  • action plugin
    • reference / The first custom module
  • Amazon
    • books, searching through product search API / Searching Amazon for books through the product search API, How it works...
  • Amazon Elastic Compute Cloud (EC2)
    • reference / AWS network overview
    • about / AWS network overview
  • Amazon GuardDuty
    • about / Other AWS network services
    • reference / Other AWS network services
  • Amazon Resource Names (ARNs)
    • about / AWS network overview
    • reference / AWS network overview
  • Amazon S3 web service
    • SOAP methods, searching / Searching for SOAP methods from an Amazon S3 web service, How it works...
  • Amazon Virtual Private Cloud (Amazon VPC) / Virtual private cloud
  • Amazon Web Services (AWS) / Managing cloud platforms
    • setting up / AWS setup
    • reference / AWS setup
  • Ansible
    • about / A more declarative framework
    • reference / A more declarative framework, The control node installation, Ansible 2.5 connection example
    • example / A quick Ansible example
    • control node installation / The control node installation
    • different versions, executing from source / Running different versions of Ansible from source
    • setting up / Lab setup
    • architecture / The Ansible architecture
    • networking modules / Ansible networking modules
    • Cisco example / The Ansible Cisco example
    • connection example / Ansible 2.5 connection example
    • Juniper example / The Ansible Juniper example
    • Arista example / The Ansible Arista example
    • conditional statements / Ansible conditionals
    • loops / Ansible loops
    • include statement / The Ansible include and roles, The Ansible include statement
    • roles / The Ansible include and roles, Ansible roles
  • Ansible, advantages
    • about / The advantages of Ansible
    • agentless / Agentless
    • idempotent / Idempotent
    • extensible / Simple and extensible
    • simplification / Simple and extensible
    • network vendor support / Network vendor support
  • Ansible Galaxy
    • about / Ansible roles
    • reference / Ansible roles
  • Ansible Jinja2 template
    • reference / Templates with Jinja2
  • Ansible playbook
    • about / Your first Ansible playbook, Our first playbook
    • public key authorization / The public key authorization
    • inventory file / The inventory file
  • Ansible Vault
    • about / The Ansible Vault
    • reference / The Ansible Vault
  • Apache
    • configuring, remotely to host website / Configuring Apache remotely to host a website, How it works...
  • Apache 2 / How to do it...
  • Apache Cassandra
    • URL / How to do it...
  • Apache ZooKeeper
    • URL / How to do it...
  • API structured output
    • versus screen scraping / Screen scraping versus API structured output
  • application-specific integrated circuit (ASIC) / Programmable network devices
  • Application Centric Infrastructure (ACI) / Controller-based network fabric, Introduction
  • Application Policy Infrastructure Controller (APIC)
    • about / Controller-based network fabric
    • APIC Rest Python Adaptor (ARYA) / Controller-based network fabric
    • ACI SDK / Controller-based network fabric
    / Introduction
  • Application Program Interface (API) / Representational State Transfer (REST) framework
  • architecture, Ansible
    • about / The Ansible architecture
    • YAML / The Ansible architecture, YAML
    • inventory / The Ansible architecture, Inventories
    • variables / The Ansible architecture, Variables
    • templates / The Ansible architecture
    • templates, with Jinja2 / Templates with Jinja2
  • Arista eAPI management
    • about / Arista eAPI management
    • eAPI, preparation / The eAPI preparation
    • examples / eAPI examples
    • reference / eAPI examples
  • Arista Networks
    • about / The Arista Python API
    • reference / The Arista Python API
  • Arista Pyeapi library
    • reference / The Arista Pyeapi library, Pyeapi installation, Pyeapi examples
    • about / The Arista Pyeapi library
    • installation / Pyeapi installation
    • examples / Pyeapi examples
  • Arista Python API
    • about / The Arista Python API
    • Arista eAPI management / Arista eAPI management
    • Arista Pyeapi library / The Arista Pyeapi library
  • Arista vEOS
    • reference / GNS3
  • arrays / Arrays
  • asynchronous network applications
    • building, with Twisted / Building asynchronous network applications with Twisted, How it works...
    • building, with Tornado / Building asynchronous network applications with Tornado, How it works...
  • Authentication, authorization, and accounting (AAA) / Introduction
  • automation
    • bad automation / Bad automation speeds bad things up
  • Autonomous System (AS) / BGP and routing table
  • Availability Zones (AZ) / AWS network overview
  • AWS CLI
    • Python SDK / AWS CLI and Python SDK
    • reference / AWS CLI and Python SDK
  • AWS CloudFront / AWS network overview
  • AWS Direct Connect / AWS network overview
  • AWS Direct Connect locations
    • reference / Direct Connect
  • AWS Edge locations / AWS network overview
  • AWS Global Infrastructure
    • reference / AWS network overview
  • AWS network
    • overview / AWS network overview
    • services / Other AWS network services
  • AWS Shield
    • reference / Other AWS network services
    • about / Other AWS network services
  • AWS Transit Centers / AWS network overview
  • AWS Transit VPC
    • about / Other AWS network services
    • reference / Other AWS network services
  • AWS WAF
    • about / Other AWS network services
    • reference / Other AWS network services

B

  • bandwidth
    • saving, in web requests with HTTP compression / Saving bandwidth in web requests with the HTTP compression, How it works...
  • bitbucket
    • references / How to do it...
  • BMP messages
    • parsing, with SNAS.io / Parsing BMP messages with SNAS.io, How it works...
  • Border Gateway Protocol (BGP) / BGP and routing table
  • Boto3
    • reference / AWS CLI and Python SDK
  • Boto3 VPC API
    • reference / Virtual private cloud

C

  • Cisco API
    • about / The Cisco API and ACI
    • Cisco NX-API / Cisco NX-API
    • YANG models / The Cisco and YANG models
  • Cisco Application Centric Infrastructure (ACI)
    • about / The Cisco API and ACI, The Cisco ACI
    • reference / The Cisco ACI
  • Cisco Certified Internetwork Expert (CCIE) / Cisco VIRL
  • Cisco Connection Online (CCO) / Cisco DevNet and dCloud
  • Cisco dCloud
    • reference / Cisco VIRL
  • Cisco DevNet
    • reference / Cisco VIRL, Cisco DevNet and dCloud
    • about / Cisco DevNet and dCloud
  • Cisco IOS XR
    • URL / Interacting with devices running Cisco IOS XR
    • devices, interacting / Interacting with devices running Cisco IOS XR
  • Cisco NX-API
    • about / Cisco NX-API
    • reference / Cisco NX-API
    • installation / Lab software installation and device preparation
    • device preparation / Lab software installation and device preparation
    • examples / NX-API examples
  • Cisco Spark
    • references / Collaborating with Cisco Spark API
  • Cisco Spark API
    • collaborating with / Collaborating with Cisco Spark API
    • URL / Collaborating with Cisco Spark API
  • Cisco switchport
    • configuring, for access point / Configuring Cisco switchport for access point
    • configuring, for IP Phone / Configuring Cisco switchport for IP Phone
  • Cisco VIRL
    • about / Cisco VIRL
    • advantages / Cisco VIRL
    • reference / VIRL tips
    • tips / VIRL tips
  • CloudFormation
    • about / Automation with CloudFormation
    • reference / Automation with CloudFormation
    • for automation / Automation with CloudFormation
  • CloudFront CDN services / CloudFront CDN services
  • cloud platforms
    • managing / Managing cloud platforms
  • command-line interface (CLI) / Managing cloud platforms
  • Command Line Interface (CLI)
    • challenges / The challenges of the CLI
  • communication protocols
    • reference / Local connections and facts
  • concurrent applications
    • building, with Tornado Future / Building concurrent applications with Tornado Future
  • conditional statements, Ansible
    • when clause / The when clause
    • reference / The when clause
    • network facts / Ansible network facts
    • network module conditional / Network module conditional
  • conditions
    • about / Decision makers, Conditions and loops
    • nested conditions / Nested and multiple conditions
    • multiple conditions / Nested and multiple conditions
  • configuration backup
    • automating / Automating configuration backup
  • connected sockets (socketpair)
    • used, for performing IPC / Performing a basic IPC using connected sockets (socketpair), How it works...
  • construct
    • URL / Getting ready
  • Containernet
    • URL / Emulating networks with Mininet
  • containers
    • emulating / Extending Mininet to emulate containers, How it works...
  • Content Delivery Network (CDN) / CloudFront CDN services
  • Contrail Virtual Network Controller
    • URL / Configuring OpenContrail controller
  • controller-based network fabric / Controller-based network fabric
  • cookies
    • information, extracting / Extracting cookie information after visiting a website
  • custom module
    • writing / Writing your own custom module, The first custom module, The second custom module
    • reference / The first custom module, The second custom module

D

  • Data Center Networking (DCN) / The challenges of the CLI
  • data model
    • about / Data modeling for infrastructure as code
    • reference / Data modeling for infrastructure as code
  • data modeling
    • for infrastructure as code / Data modeling for infrastructure as code
  • Data Plane Development Kit (DPDK)
    • packet, processing / Packet processing with DPDK, How it works...
    • URL / Getting ready
  • data types
    • string / Data types
    • integer / Data types
    • float / Data types
    • datetime / Data types
    • about / Python interpreter and data types
  • dCloud
    • about / Cisco DevNet and dCloud
    • reference / Cisco DevNet and dCloud
  • decision maker / Decision makers
  • declarative framework / A more declarative framework
  • denial-of-service (DoS) / How it works...
  • DevOps / DevOps
  • Direct Connect
    • about / Direct Connect and VPN, Direct Connect
    • reference / Direct Connect
  • Distributed Denial of Service (DDoS)
    • about / Other AWS network services
  • distributed network
    • emulation, with Maxinet / Distributed network emulation with MaxiNet, How it works...
  • dnspython
    • URL / Finding DNS host information, Getting ready
  • DNS zone transfer
    • creating / Making DNS zone transfer
  • Domain Name Servers (DNS)
    • names, searching of network / Finding DNS names of a network
    • host information, searching / Finding DNS host information, How it works...
    • resource records, searching / Finding DNS resource records, How it works...
  • dronecode
    • about / Controlling drones with a wireless network
    • URL / Controlling drones with a wireless network
  • Dronekit
    • URL / How it works...
  • drones
    • controlling, with wireless network / Controlling drones with a wireless network, How it works...
  • Dynamic Host Configuration Protocol (DHCP) / Programmable network devices
  • Dynamip / Cisco VIRL

E

  • eAPI / Programmable network devices
  • Elastic IP (EIP)
    • about / Elastic IP
    • reference / NAT Gateway
  • Emulated Virtual Environment Next Generation (EVE-NG)
    • reference / GNS3
  • Endpoint Groups (EPGs) / Controller-based network fabric
  • Endpoints (EPs) / Controller-based network fabric
  • Equinix Cloud Exchange
    • reference / Direct Connect
  • Eve
    • used, for authenticating REST APIs / Authenticating REST APIs with Eve
  • Extended Markup Language (XML) / Representational State Transfer (REST) framework
  • Extensible Markup Language (XML) / Juniper and NETCONF
  • Extensible Operating System (EOS) / Programmable network devices

F

  • Fabric
    • URL / Installing a Python package remotely
  • files
    • transferring, to remote machine over SSH / Transferring files to a remote machine over SSH, How it works...
  • Flask
    • RESTful web applications, creating / Creating RESTful web applications with Flask, How it works...
  • Flickr
    • photo information, collecting with REST / Collecting some photo information from Flickr using REST, How it works...
  • for next loop / For next loop
  • FreeIPA
    • references / Getting ready
  • functions
    • about / Functions, Functions
    • passing arguments, from command line / Passing arguments from the command line

G

  • Git
    • about / Introduction to Git
    • benefits / Benefits of Git
    • terminology / Git terminology
    • reference / Git terminology
    • setting up / Setting up Git
    • examples / Git usage examples
    • collaboration technology / Collaborating with Git
    • software-development collaboration / Collaborating with Git
  • Git, terminology
    • ref / Git terminology
    • repository / Git terminology
    • branch / Git terminology
    • checkout / Git terminology
    • commit / Git terminology
    • merge / Git terminology
    • fetch / Git terminology
    • pull / Git terminology
    • tag / Git terminology
  • Git, with Python
    • about / Git with Python
    • GitPython / GitPython
    • PyGitHub / PyGitHub
  • GitHub
    • reference / Git and GitHub
    • about / Git and GitHub
    • example / GitHub example
    • collaborating, with pull requests / Collaborating with pull requests
  • Gitignore
    • about / Gitignore
    • reference / Gitignore
  • GitPython
    • reference / GitPython
  • Global Information Tracker (GIT) / Introduction to Git
  • GNS3 / GNS3
  • Google home page
    • URL / How to do it...
  • Grafana
    • URL / How to do it...
  • group variables
    • about / Group and host variables, Group variables, Host variables
    • reference / Group and host variables

H

  • HEAD requests
    • web page existence, checking / Checking whether a web page exists with the HEAD request, How it works...
  • hosts
    • pinging, on network with ICMP / Pinging hosts on the network with ICMP, How it works...
  • host variables
    • about / Group and host variables, Host variables
    • reference / Group and host variables
  • HTTP authentication
    • XML-RPC server, executing / Running an XML-RPC server with a basic HTTP authentication, How it works...
  • HTTP compression
    • bandwidth, saving in web requests / Saving bandwidth in web requests with the HTTP compression, How it works...
  • HTTP fail-over client
    • writing, with resume downloading / Writing an HTTP fail-over client with resume and partial downloading
    • writing, with partial downloading / Writing an HTTP fail-over client with resume and partial downloading
  • HTTP packets
    • header, adding / Adding an extra header in HTTP packets, How it works...
  • HTTP requests
    • serving / Serving HTTP requests from your machine, How it works..., How it works...
  • HTTP server
    • data, downloading / Downloading data from an HTTP server, How it works...
  • HTTPS server code
    • writing, with Python / Writing a simple HTTPS server code with Python and OpenSSL, How it works...
    • writing, with OpenSSL / Writing a simple HTTPS server code with Python and OpenSSL

I

  • ICMP
    • hosts, pinging on network / Pinging hosts on the network with ICMP, How it works...
  • idempotence
    • reference / Idempotent
  • idempotency / Idempotent network device interaction
  • Identify and Access Management (IAM)
    • about / AWS network overview
    • reference / AWS network overview
  • inactive machines
    • detecting, on network / Detecting inactive machines on your network
  • include statement, Ansible / The Ansible include statement
  • infrastructure as code
    • about / Infrastructure as code
    • Intent-Driven Networking / Intent-Driven Networking
    • screen scraping, versus API structured output / Screen scraping versus API structured output
    • data modeling / Data modeling for infrastructure as code
  • Integrated Development Environments (IDEs) / Writing your first program
  • Intent-Based Networking / Intent-Driven Networking
  • Intent-Driven Networking / Intent-Driven Networking
  • interfaces
    • enumerating, on machine / Enumerating interfaces on your machine, How it works...
    • IP address, obtaining / Finding the IP address for a specific interface on your machine
    • status, discovering / Finding whether an interface is up on your machine
  • internet service provider (ISP) / Programmable network devices
  • inventory, Ansible
    • about / Inventories
    • reference / Inventories
  • inventory file
    • about / The inventory file
    • reference / The inventory file
  • ios_command module
    • reference / Provider arguments
  • IP address
    • obtaining, for specific interface on machine / Finding the IP address for a specific interface on your machine
    • customizing, of packet / Customizing the IP address of a packet, How it works...
  • IP Address Management (IPAM)
    • accessing / Access of IP Address Management (IPAM)
  • IPC
    • performing, with connected sockets (socketpair) / Performing a basic IPC using connected sockets (socketpair), How it works...
    • performing, with Unix domain sockets (UDS) / Performing IPC using Unix domain sockets, How it works...
  • IPv6 address
    • IPv6 prefix, extracting / Extracting an IPv6 prefix from an IPv6 address, How it works...
  • IPv6 echo client/server
    • writing / Writing an IPv6 echo client/server, How to do it..., How it works...
  • IPv6 socket support
    • Python, determining for / Finding out if your Python supports IPv6 sockets, How to do it..., How it works...

J

  • JavaScript Object Notation (JSON) / Representational State Transfer (REST) framework
  • Jinja2
    • templates / Templates with Jinja2
    • reference / Templates with Jinja2
    • about / Templates with Jinja2
    • loops / Jinja2 loops
    • conditional statement / The Jinja2 conditional
  • Jinja2 template
    • reference / Templates
    • about / The Jinja2 template
  • JSON-RPC / Arista eAPI management
  • jsonrpclib
    • reference / The eAPI preparation
  • Juniper Contrail Server Manager
    • configuring / Configuring Juniper Contrail Server Manager, How it works...
    • URL / Configuring Juniper Contrail Server Manager
  • Juniper networks
    • Python API / The Python API for Juniper networks
    • Network Configuration Protocol (NETCONF) / Juniper and NETCONF
    • PyEZ / Juniper PyEZ for developers
  • Juniper Networks
    • URL / Configuring Juniper Contrail Server Manager
  • Juniper Olive / Device preparation
  • Juniper vMX
    • reference / GNS3
  • Jupyter Notebook
    • URL / How it works...

K

  • Kafka Manager
    • URL / How it works...

L

  • large data center / The Arista Python API
  • LDAP bind
    • creating / Making LDAP bind
  • Lightweight Directory Access Protocol (LDAP)
    • server, connecting / Connecting to an LDAP server
    • server, connecting to / Connecting to an LDAP server
    • reading / Reading and writing LDAP
    • writing / Reading and writing LDAP
  • Linux Foundation
    • URL / Introduction
  • local port
    • forwarding, to remote host / Forwarding a local port to a remote host, How it works...
  • local XML-RPC server
    • querying / Querying a local XML-RPC server, How it works...
  • loop
    • about / Loops, Conditions and loops, Loops
    • for next loop / For next loop
    • while loop / While loop
  • loops, Ansible
    • about / Ansible loops
    • standard loops / Standard loops
    • over dictionaries / Looping over dictionaries
    • reference / Looping over dictionaries

M

  • Maxinet
    • URL / Emulating networks with Mininet
    • distributed network, emulation / Distributed network emulation with MaxiNet, How it works...
  • Mininet
    • networks, emulating / Emulating networks with Mininet
    • URL / Emulating networks with Mininet
    • extending, to emulate containers / Extending Mininet to emulate containers, How it works...
  • Mininet-WiFi
    • wireless networks, emulating / Emulating wireless networks with Mininet-WiFi, How it works...
    • URL / How to do it...
  • mobile ad hoc network (MANET) / How to do it...
  • modules, Ansible
    • reference / The inventory file
  • Mozilla Firefox
    • spoofing, in client code / Spoofing Mozilla Firefox in your client code, How it works...
  • Multi-threaded Routing Toolkit (MRT) / Parsing BMP messages with SNAS.io
  • Multiprotocol Label Switching (MPLS) / The Python API for Juniper networks
  • MySQL command
    • executing remotely / Running a MySQL command remotely, How it works...

N

  • NAPALM
    • reference / Vendor-neutral libraries
  • NAT Gateway
    • about / AWS network overview, NAT Gateway
    • using / NAT Gateway
  • ncclient library
    • about / Lab software installation and device preparation
    • reference / Lab software installation and device preparation
  • neighbor devices / Controller-based network fabric
  • nested conditions / Indentation
  • Netmiko
    • used, for SSH / Using Netmiko for SSH and network device interaction
    • reference link / Using Netmiko for SSH and network device interaction
    • reference / Paramiko overview, Vendor-neutral libraries
  • network automation
    • about / Network automation
    • use case / Network automation use case
    • tools / Network automation tools
  • Network Configuration Protocol (NETCONF)
    • about / Juniper and NETCONF
    • characteristics / Juniper and NETCONF
    • reference / Juniper and NETCONF
    • device preparation / Device preparation
    • examples / Juniper NETCONF examples
  • network device interaction / Using Netmiko for SSH and network device interaction
  • network fabric / Controller-based network fabric
  • Network Function Virtualization (NFV) / Introduction, Building VNFs with OPNFV
  • Network Function Virtualization Infrastructure (NFVI) / Building VNFs with OPNFV
  • networking modules, Ansible
    • about / Ansible networking modules
    • facts / Local connections and facts
    • local connections / Local connections and facts
    • provider arguments / Provider arguments
  • network module conditional / Network module conditional
  • network modules
    • reference / Network vendor support
  • networks
    • inactive machines, detecting / Detecting inactive machines on your network
    • simulating, with ns-3 / Simulating networks with ns-3, How it works...
    • emulating, with Mininet / Emulating networks with Mininet
  • network scaling services
    • about / Network scaling services
    • Elastic Load Balancing (ELB) / Elastic Load Balancing
    • Route53 DNS service / Route53 DNS service
    • CloudFront CDN services / CloudFront CDN services
  • Network Time Protocol (NTP)
    • references / Querying NTP servers, How to do it...
    • servers, querying / Querying NTP servers
  • Nexus API (NX-API) / Programmable network devices
  • Nmap
    • about / Getting ready
    • URL / Getting ready
  • ns-3
    • networks, simulating / Simulating networks with ns-3, How it works...
    • URL / Getting ready
  • NSX API Guide
    • URL / How it works...
  • NSX for vSphere API Guide
    • URL / How it works...
  • NSX Manager
    • URL / Getting ready
  • nxso_snmp_contact module
    • reference / Variables

O

  • OpenBMP
    • URL / Parsing BMP messages with SNAS.io
  • OpenContrail
    • about / Introduction
    • URL / Configuring OpenContrail controller, Getting ready
  • OpenContrail cluster
    • configuring / Configuring OpenContrail cluster
  • OpenContrail controller
    • configuring / Configuring OpenContrail controller
  • OpenContrail core project
    • URL / Configuring OpenContrail controller
  • OpenFlow / OpenFlow
  • Open Network Foundation (ONF) / OpenFlow
  • Open Platform for NFV (OPNFV)
    • VNFs, building / Building VNFs with OPNFV, How it works...
    • references / Building VNFs with OPNFV, Getting ready
  • OpenSSL
    • HTTPS server code , writing / Writing a simple HTTPS server code with Python and OpenSSL
  • OpenTSDB
    • URL / How to do it...

P

  • packages / Python modules and packages
  • packet capture (pcap) format
    • packets, saving with pcap dumper / Saving packets in the pcap format using the pcap dumper, How it works...
    • URL / Saving packets in the pcap format using the pcap dumper
  • packets
    • sniffing, on network / Sniffing packets on your network, How it works...
    • saving, in pcap format with pcap dumper / Saving packets in the pcap format using the pcap dumper, How it works...
    • IP address, customizing / Customizing the IP address of a packet, How it works...
    • broadcast, scanning / Scanning the broadcast of packets, How it works...
    • processing, with DPDK / Packet processing with DPDK, How it works...
  • parallel processing
    • multithreading / Multithreading for parallel processing
  • Paramiko
    • URL / Getting ready, Getting ready
  • Paramiko library
    • about / The Python Paramiko library
    • installation / Installation of Paramiko
    • reference / Installation of Paramiko, NX-API examples
    • overview / Paramiko overview
    • program / Our first Paramiko program
    • features / More Paramiko features
    • for servers / Paramiko for servers
    • implementing / Putting things together for Paramiko
    • drawbacks / Downsides of Pexpect and Paramiko compared to other tools
  • Pexpect library
    • about / Python Pexpect library
    • reference / Python Pexpect library, More Pexpect features
    • installation / Pexpect installation
    • overview / Pexpect overview
    • program / Our first Pexpect program
    • features / More Pexpect features, Putting things together for Pexpect
    • SSH / Pexpect and SSH
    • implementing / Putting things together for Pexpect
    • drawbacks / Downsides of Pexpect and Paramiko compared to other tools
  • ping module
    • reference / The inventory file
  • PNDA
    • references / How it works...
    • about / Creating PNDA clusters
    • URL / Creating PNDA clusters
    • clusters, creating / Creating PNDA clusters, How to do it...
  • Pointer records (PTR) / How it works...
  • port address translation (PAT) / NAT Gateway
  • ports
    • scanning, of remote host / Scanning the ports of a remote host, How it works...
  • Power on Auto Provisioning (PoAP) / Programmable network devices
  • PowerShell
    • about / Language choices (Python/PowerShell)
    • program / Writing your first program
  • PowerShell IDE / PowerShell IDE
  • program concepts
    • about / Program concepts
    • variables / Variables
    • data types / Data types
    • decision maker / Decision makers
    • loop / Loops
    • arrays / Arrays
    • functions / Functions
    • best practices / Best practices
    • readability / Readability of a program
    • support information / Support information
    • indentation / Indentation
    • best practice, example / Sample best practice example
  • programmable network devices / Programmable network devices
  • programmable networks (PNs) / Programmable network devices
  • proxy server
    • web requests, sending / Sending web requests through a proxy server
  • pyeapi library
    • reference link / Programmable network devices
  • PyEZ
    • about / Juniper PyEZ for developers
    • reference / Juniper PyEZ for developers, Installation and preparation
    • preparation / Installation and preparation
    • installation / Installation and preparation
    • examples / PyEZ examples
  • PyGitHub
    • reference / PyGitHub
  • PyIOSXR
    • URL / Interacting with devices running Cisco IOS XR
  • pylibcap library
    • URL / Getting ready
  • pynsxv
    • URL / Configuring VMware NSX for vSphere 6.3.2
  • Python
    • about / Language choices (Python/PowerShell)
    • program / Writing your first program
    • URL / Python interpreter and data types, How it works...
    • data type / Python interpreter and data types
    • determining, for IPv6 socket support / Finding out if your Python supports IPv6 sockets, How to do it..., How it works...
    • HTTPS server code, writing / Writing a simple HTTPS server code with Python and OpenSSL
  • python-ldap3
    • URL / Getting ready
  • Python 3
    • URL / How it works...
  • Python API
    • for Juniper networks / The Python API for Juniper networks
  • Python IDE / Python IDE
  • Python interpreter / Python interpreter and data types
  • Python modules / Python modules and packages
  • Python package
    • installing remotely / Installing a Python package remotely, How it works...
  • Python Package Index (PyPI)
    • URL / Getting ready
  • Python scripts
    • writing / Writing Python scripts
  • Python SDK / AWS CLI and Python SDK

R

  • Red PNDA
    • configuring / Configuring Red PNDA, How it works...
    • URL / Configuring Red PNDA
  • regular expressions
    • reference / Pexpect overview
  • remote host
    • local port, forwarding / Forwarding a local port to a remote host, How it works...
    • ports, scanning / Scanning the ports of a remote host, How it works...
  • remote machine
    • file, copying by SFTP / Copying a file to a remote machine by SFTP, How it works...
    • CPU information, printing / Printing a remote machine's CPU information, How it works...
    • files, transferring over SSH / Transferring files to a remote machine over SSH, How it works...
  • remote network service
    • waiting for / Waiting for a remote network service, How to do it..., How it works...
  • Remote Procedure Call (RPC) / Arista eAPI management
  • remote shell command
    • executing, with telnet / Executing a remote shell command using telnet, How it works...
  • Representational State Transfer (REST)
    • about / Introduction
    • used, for collecting photo information / Collecting some photo information from Flickr using REST, How it works...
  • Representational State Transfer (REST) framework / Representational State Transfer (REST) framework
  • Requests
    • reference / NX-API examples
  • requests module
    • about / Getting ready
    • URL / Getting ready
  • RequestsThrottler
    • used, for throttling requests / Throttling requests with RequestsThrottler
  • REST APIs
    • authenticating, with Eve / Authenticating REST APIs with Eve
  • RESTful web applications
    • creating, with Flask / Creating RESTful web applications with Flask, How it works...
  • roles, Ansible
    • about / Ansible roles
    • reference / Ansible roles
  • routing table / BGP and routing table

S

  • S3 bucket
    • URL / Getting ready
  • sandbox user guide
    • URL / Getting ready
  • Scapy library
    • reference / Getting ready
  • screen scraping
    • versus API structured output / Screen scraping versus API structured output
    • drawbacks / Screen scraping versus API structured output
  • SDNVPN
    • URL / How it works...
  • Secure File Transfer Protocol (SFTP)
    • file, copying to remote machine / Copying a file to a remote machine by SFTP, How it works...
  • Service-Level Agreement (SLA) / Direct Connect
  • Simple Network Management Protocol (SNMP) / Network automation
  • Simple Object Access Protocol (SOAP) / Introduction
  • SNAS.io
    • BMP messages, parsing / Parsing BMP messages with SNAS.io, How it works...
  • sniffing, packets
    • on network / Sniffing packets on your network, How it works...
  • SOAP methods
    • searching, from Amazon S3 web service / Searching for SOAP methods from an Amazon S3 web service, How it works...
  • software-defined networking / Software-defined networking
  • Software-Defined Wide Area Networks (SD-WANs) / Configuring Juniper Contrail Server Manager
  • Software in the Loop (SITL) / Getting ready
  • Spanning Tree Protocol (STP) / Controller-based network fabric
  • Splunk
    • interaction / Interaction with Splunk
    • about / Interaction with Splunk
  • SSH
    • Pexpect library / Pexpect and SSH
    • files, transferring to remote machine over SSH / Transferring files to a remote machine over SSH, How it works...
  • Start of Authority (SOA) / Finding DNS resource records
  • Streaming Network Analytics System (SNAS) / Parsing BMP messages with SNAS.io
  • Swiss knife / Introduction
  • switch case / Decision makers

T

  • technology domain
    • automation, example / Automation examples on various technology domains
    • BGP / BGP and routing table
    • routing table / BGP and routing table
    • Cisco switchport, configuring for access point / Configuring Cisco switchport for access point
    • Cisco switchport, configuring for IP Phone / Configuring Cisco switchport for IP Phone
    • Wireless LAN (WLAN) / Wireless LAN (WLAN)
    • IP Address Management (IPAM), accessing / Access of IP Address Management (IPAM)
  • telnet
    • used, for executing remote shell command / Executing a remote shell command using telnet, How it works...
  • template module
    • reference / Templates
  • templates
    • with Jinja2 / Templates with Jinja2
    • about / Templates
    • Jinja2 template / The Jinja2 template
  • throttle
    • URL / How it works...
  • Tornado
    • used, for building asynchronous network applications / Building asynchronous network applications with Tornado, How it works...
  • Tornado Future
    • used, for building concurrent applications / Building concurrent applications with Tornado Future
    • URL / Building concurrent applications with Tornado Future
  • traffic
    • replaying, from saved pcap file / Replaying traffic by reading from a saved pcap file, How it works...
  • transaction signature (TSIG) / Finding DNS resource records
  • Twisted
    • used, for building asynchronous network applications / Building asynchronous network applications with Twisted, How it works...
    • URL / Getting ready

U

  • Unix domain sockets (UDS)
    • used, for performing IPC / Performing IPC using Unix domain sockets, How it works...
  • use case / Example and use case

V

  • variables / Variables
  • variables, Ansible
    • about / Variables
    • reference / Variables
  • vehicular ad hoc network (VANET) / How to do it...
  • vendor-neutral libraries / Vendor-neutral libraries
  • VIRL on Packet
    • reference / Cisco VIRL
  • virlutils
    • reference / Cisco VIRL
  • Virtual Internet Routing Lab (VIRL)
    • reference / Constructing a virtual lab
  • virtual lab
    • constructing / Constructing a virtual lab
    • advantages / Constructing a virtual lab
    • disadvantages / Constructing a virtual lab
    • Cisco VIRL / Cisco VIRL
    • Cisco DevNet / Cisco DevNet and dCloud
    • dCloud / Cisco DevNet and dCloud
    • GNS3 / GNS3
  • Virtual Network Functions (VNFs)
    • about / Building VNFs with OPNFV
    • building, with OPNFV / Building VNFs with OPNFV, How it works...
  • virtual private cloud
    • about / Virtual private cloud
    • creating / Virtual private cloud
    • route tables / Route tables and route targets
    • route targets / Route tables and route targets
    • automation, with CloudFormation / Automation with CloudFormation
    • security groups / Security groups and the network ACL
    • network ACL / Security groups and the network ACL
    • Elastic IP (EIP) / Elastic IP
    • NAT Gateway / NAT Gateway
  • Virtual Private Cloud (VPC) / AWS network overview
  • virtual private clouds
    • automation, with CloudFormation / Automation with CloudFormation
  • Virtual Private Gateway / VPN Gateway
  • virtual private network (VPN) / How it works...
  • VMware NSX
    • configuring, for vSphere 6.3.2 / Configuring VMware NSX for vSphere 6.3.2
    • URL / Configuring VMware NSX for vSphere 6.3.2
  • VPC peering
    • reference / Automation with CloudFormation
  • VPN Gateway / Direct Connect and VPN, VPN Gateway
  • vSphere 6.3.2
    • VMware NSX, configuring / Configuring VMware NSX for vSphere 6.3.2
  • vSRX
    • reference / GNS3

W

  • web-based post check tool
    • creating, for validations / Create a web-based pre and post check tool for validations, Step 1 – Create the main HTML file, Step 2 – Create the backend Python code, Step 3 – Create web server based files for the tool, Step 4 – Create server based files for pre and post files comparison
  • web-based pre check tool
    • creating, for validations / Create a web-based pre and post check tool for validations, Step 1 – Create the main HTML file, Step 2 – Create the backend Python code, Step 3 – Create web server based files for the tool, Step 4 – Create server based files for pre and post files comparison
  • web forms
    • submitting / Submitting web forms, How it works...
  • web page
    • existence, checking with HEAD request / Checking whether a web page exists with the HEAD request, How it works...
  • web requests
    • sending, through proxy server / Sending web requests through a proxy server
    • bandwidth, saving with HTTP compression / Saving bandwidth in web requests with the HTTP compression, How it works...
  • when clause / The when clause
  • while loop / While loop
  • Wireless LAN (WLAN) / Wireless LAN (WLAN)
  • wireless networks
    • emulating, with Mininet-WiFi / Emulating wireless networks with Mininet-WiFi, How it works...
    • drones, controlling / Controlling drones with a wireless network, How it works...

X

  • XML-RPC server
    • multithreaded, writing / Writing a multithreaded, multicall XML-RPC server, How it works...
    • multicall, writing / Writing a multithreaded, multicall XML-RPC server, How it works...
    • executing, with basic HTTP authentication / Running an XML-RPC server with a basic HTTP authentication, How it works...
  • XML Remote Procedure Call (XML-RPC) / Introduction

Y

  • YAML
    • reference / Our first playbook
    • about / YAML
  • YANG models
    • and Cisco API / The Cisco and YANG models
    • reference / The Cisco and YANG models
  • Yet Another Next Generation (YANG) / Data modeling for infrastructure as code
lock icon The rest of the chapter is locked
arrow left Previous Section
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
Banner background image