Mastering Python networking advanced networking with Python

We will then learn the concepts and practical use cases of the Ansible framework in order to achieve your network goals. We will then move on to using Python for DevOps, starting with using open source tools to test, secure, and analyze your network. Then, we will focus on network monitoring and vis...

Full description

Bibliographic Details
Main Author: Chou, Eric
Format: eBook
Language:English
Published: Birmingham, UK Packt Publishing 2017
Subjects:
Online Access:
Collection: O'Reilly - Collection details see MPG.ReNa
LEADER 11397nmm a2200493 u 4500
001 EB001933638
003 EBX01000000000000001096540
005 00000000000000.0
007 cr|||||||||||||||||||||
008 210123 ||| eng
020 |a 9781784397623 
050 4 |a QA76.73.P98 
100 1 |a Chou, Eric 
245 0 0 |a Mastering Python networking  |b advanced networking with Python  |c Eric Chou 
260 |a Birmingham, UK  |b Packt Publishing  |c 2017 
300 |a 1 volume  |b illustrations 
505 0 |a The Ryu controller with Python -- Open vSwitch commands -- The Ryu firewall application -- Layer 2 OpenFlow switch -- Planning your application -- Application components -- The POX controller -- Summary -- Chapter 11: Advanced OpenFlow Topics -- Setup -- OpenFlow operations with Ryu -- Packet inspection -- Static router -- Mininet topology -- Ryu controller code -- Ryu flow installation -- Ryu packet generation -- Final result -- Router with API -- Ryu controller with API -- API usage examples -- BGP router with OpenFlow -- Lab router setup -- Python with the BGP speaker library -- Ryu BGP application -- Firewall with OpenFlow -- Summary -- Chapter 12: OpenStack, OpenDaylight, and NFV -- OpenStack -- OpenStack overview -- Networking in OpenStack -- Trying out OpenStack -- OpenDaylight -- OpenDaylight programming overview -- OpenDaylight example -- Summary -- Chapter 13: Hybrid SDN -- Preparing the network -- Familiarize yourself with the existing framework and tools -- Network standardization -- Create minimum viable products -- Relentlessly experiment -- Greenfield deployment -- Controller redundancy -- Multiple controller example -- BGP migration example -- Migration segmentation -- VIRL and Mininet setup -- Cisco device configuration -- Ryu BGP speaker -- Mininet and REST Router -- Result and verification -- More BGP example -- Examine the JSONRPC over WebSocket -- Monitoring integration -- Secure TLS connection -- Physical switch selection -- Lab OpenFlow switches -- Incumbent vendor switches -- Whitebox Switches -- Summary -- Index 
505 0 |a Cover -- Copyright -- Credits -- Foreword -- About the Author -- About the Reviewer -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Review of TCP/IP Protocol Suite and Python Language -- The internet overview -- Servers, hosts, and network components -- The rise of datacenter -- Enterprise datacenters -- Cloud datacenters -- Edge datacenters -- The OSI model -- Client server models -- Network protocol suites -- The Transmission Control Protocol (TCP) -- Functions and Characteristics of TCP -- TCP messages and data transfer -- User Datagram Protocol (UDP) -- The Internet Protocol (IP) -- The IP NAT and security -- IP routing concepts -- Python language overview -- Python versions -- Operating system -- Running a Python program -- Python built-In types -- The None type -- Numerics -- Sequences -- Mapping -- Sets -- Python operators -- Python control flow tools -- Python functions -- Python classes -- Python modules and packages -- Summary -- Chapter 2: Low-Level Network Device Interactions -- The challenges of CLI -- Constructing a virtual lab -- Cisco Virtual Internet Routing Lab (VIRL) -- VIRL tips -- Cisco DevNet and dCloud -- GNS3 -- Python Pexpect Library -- Installation -- The Pexpect overview -- Our first Expect program -- More Pexpect features -- Pexpect and SSH -- Putting things together for Pexpect -- The Python Paramiko library -- Installating Paramiko -- The Paramiko overview -- Our first Paramiko program -- More Paramiko features -- Paramiko for Servers -- Putting things together for Paramiko -- Looking ahead -- Downsides of Pexpect and Paramiko compared to other tools -- Idempotent network device interaction -- Bad automation speeds bad things up -- Summary -- Chapter 3: API and Intent-Driven Networking -- Infrastructure as the Python code -- Screen scraping versus API structured output 
505 0 |a Data modeling for infrastructure as code -- The Cisco API and ACI -- Cisco NX-API -- Lab Software Installation and Device Preparation -- NX-API examples -- Cisco and YANG model -- The Cisco ACI -- The Python API for Juniper networks -- Juniper and NETCONF -- Device Preparation -- Juniper NETCONF examples -- Juniper PyEZ for developers -- Installation and preparation -- PyEZ examples -- The Arista Python API -- The Arista eAPI management -- The eAPI preparation -- eAPI examples -- The Arista Pyeapi library -- The Pyeapi installation -- Pyeapi examples -- Vendor neutral libraries -- Summary -- Chapter 4: The Python Automation Framework -- Ansible Basics -- A quick Ansible example -- The control node installation -- Your first Ansible playbook -- The Public key authorization -- The inventory file -- Our first playbook -- The advantages of Ansible -- Agentless -- Idempotent -- Simple and extensible -- The vendor Support -- The Ansible architecture -- YAML -- Inventories -- Variables -- Templates with Jinja2 -- Ansible networking modules -- Local connections and facts -- Provider arguments -- The Ansible Cisco example -- The Ansible Juniper example -- The Ansible Arista example -- Summary -- Chapter 5: The Python Automation Framework -- Ansible Advance Topics -- Ansible conditionals -- The when clause -- Network module conditional -- Ansible loops -- Standard loops -- Looping over dictionaries -- Templates -- The Jinja2 template -- Jinja2 loops -- The Jinja2 conditional -- Group and host variables -- Group variables -- Host variables -- The Ansible vault -- The Ansible include and roles -- The Ansible include statement -- Ansible roles -- Writing your own custom module -- The first custom module -- The second custom module -- Summary -- Chapter 6: Network Security with Python -- The lab setup -- Python Scapy -- Installing Scapy -- Interactive examples 
505 0 |a Sniffing -- The TCP port scan -- The ping collection -- Common attacks -- Scapy resources -- Access lists -- Implementing access lists with Ansible -- MAC access lists -- The syslog search -- Searching with regular expressions -- Other tools -- Private VLANs -- UFW with Python -- Summary -- Chapter 7: Network Monitoring with Python -- Part 1 -- Lab setup -- SNMP -- Setup -- PySNMP -- Python visualization -- Matplotlib -- Installation -- Matplotlib -- the first example -- Matplotlib for SNMP results -- Additional Matplotlib resources -- Pygal -- Installation -- Pygal -- the first example -- Pygal for SNMP results -- Additional Pygal resources -- Python for Cacti -- Installation -- Python script as an input source -- Summary -- Chapter 8: Network Monitoring with Python -- Part 2 -- Graphviz -- Lab setup -- Installation -- Graphviz examples -- Python with Graphviz examples -- LLDP neighbor graphing -- Information retrieval -- Python parser script -- Final playbook -- Flow-based monitoring -- NetFlow parsing with Python -- Python socket and struct -- ntop traffic monitoring -- Python extension for ntop -- sFlow -- SFlowtool and sFlow-RT with Python -- Elasticsearch (ELK stack) -- Setting up a hosted ELK service -- The logstash format -- Python helper script for Logstash formatting -- Summary -- Chapter 9: Building Network Web Services with Python -- Comparing Python web frameworks -- Flask and lab setup -- Introduction to Flask -- The HTTPie client -- URL routing -- URL variables -- URL generation -- The jsonify return -- Network s API -- Flask-SQLAlchemy -- Network content API -- Devices API -- The device ID API -- Network dynamic operations -- Asynchronous operations -- Security -- Additional resources -- Summary -- Chapter 10: OpenFlow Basics -- Lab setup -- Introducing OpenFlow -- Basic operations -- OpenFlow 1.0 vs 1.3 -- Mininet 
653 |a Logiciels d'application / Développement 
653 |a Computer networks / Management / fast 
653 |a COMPUTERS / Programming Languages / Python / bisacsh 
653 |a Python (Computer program language) / fast 
653 |a Python (Computer program language) / http://id.loc.gov/authorities/subjects/sh96008834 
653 |a Application software / Development / fast 
653 |a Réseaux d'ordinateurs / Gestion 
653 |a Python (Langage de programmation) 
653 |a Computer networks / Management / http://id.loc.gov/authorities/subjects/sh2006000150 
653 |a Application software / Development / http://id.loc.gov/authorities/subjects/sh95009362 
041 0 7 |a eng  |2 ISO 639-2 
989 |b OREILLY  |a O'Reilly 
015 |a GBB7F1328 
776 |z 1784397628 
776 |z 9781784397623 
776 |z 9781784397005 
856 4 0 |u https://learning.oreilly.com/library/view/~/9781784397005/?ar  |x Verlag  |3 Volltext 
082 0 |a 331 
082 0 |a 005.133 
082 0 |a 658 
520 |a We will then learn the concepts and practical use cases of the Ansible framework in order to achieve your network goals. We will then move on to using Python for DevOps, starting with using open source tools to test, secure, and analyze your network. Then, we will focus on network monitoring and visualization. We will learn how to retrieve network information using a polling mechanism, ?ow-based monitoring, and visualizing the data programmatically. Next, we will learn how to use the Python framework to build your own customized network web services. In the last module, you will use Python for SDN, where you will use a Python-based controller with OpenFlow in a hands-on lab to learn its concepts and applications. We will compare and contrast OpenFlow, OpenStack, OpenDaylight, and NFV. Finally, you will use everything you've learned in the book to construct a migration plan to go from a legacy to a scalable SDN-based network.  
520 |a What You Will Learn Review all the fundamentals of Python and the TCP/IP suite Use Python to execute commands when the device does not support the API or programmatic interaction with the device Implement automation techniques by integrating Python with Cisco, Juniper, and Arista eAPI Integrate Ansible using Python to control Cisco, Juniper, and Arista networks Achieve network security with Python Build Flask-based web-service APIs with Python Construct a Python-based migration plan from a legacy to scalable SDN-based network. In Detail This book begins with a review of the TCP/ IP protocol suite and a refresher of the core elements of the Python language. Next, you will start using Python and supported libraries to automate network tasks from the current major network vendors. We will look at automating traditional network devices based on the command-line interface, as well as newer devices with API support, with hands-on labs.  
520 |a Become an expert in implementing advanced, network-related tasks with Python. About This Book Build the skills to perform all networking tasks using Python with ease Use Python for network device automation, DevOps, and software-defined networking Get practical guidance to networking with Python Who This Book Is For If you are a network engineer or a programmer who wants to use Python for networking, then this book is for you. A basic familiarity with networking-related concepts such as TCP/IP and a familiarity with Python programming will be useful.  
520 |a Style and approach An easy-to-follow guide packed with hands-on examples of using Python for network device automation, DevOps, and SDN.