內容簡介:使用Python套件與框架完成網路自動化、監控、雲端和管理
👍 台灣旅美資深網路技術專家最新實戰指南
👍 教你用Python點滿網路自動化的技能樹
👍 涵蓋Docker、Python、GitLab與DevOps技術
👍 從基礎技能到建構企業級API全面掌握
🎯 適合所有希望拓展技能並追求網路自動化(NetDevOps)的網路工程師!
「本書書名是《精通Python網路開發》,但涵蓋範圍遠遠超出了Python腳本。我僅使用這本書,就足以讓我經驗豐富、精通CLI的網路安全工程師團隊,快速了解網路自動化及其相關知識。簡言之,尋求專注於自動化的網路工程師,可將本書視為網路工程庫的重要補充。」
--Daniel Luechtefeld -Snowdog 技術和網络首席顧問
在基礎設施中,網路決定了應用程序部署、維護和服務方式。身為一種強大的程式語言,Python為網路工程師提供了許多工具,讓他們能像過去的系統工程師與程式開發者一樣,探索與操作設備。在《精通Python網路開發》一書中,您將開始一段以Python為基礎的旅程,從傳統的網路工程師轉變為能適應下一代網路的網路開發人員。
本書針對新的Python特性和DevOps框架進行全面更新。新增了關於Docker容器和Python3 Async IO的章節,每一章也使用最新的函式庫和範例,以確保相容性與對概念的理解。
從Python的基本概述開始,您將學習與傳統網路設備和支援API的網路設備互動的方法。利用高階Python套件與框架來執行網路自動化任務、監控、管理和強化網路安全,深入研究AWS和Azure雲端服務與運算,使用Git管理程式碼、GitLab實作持續整合,運用基於Python撰寫的測試工具來驗證網路。
您將學到:
*使用Python與網路設備互動
*了解Docker開發與部署的方式
*使用Python和各種工具獲取網路資訊
*學習使用ELK執行網路資料分析
*使用Flask並建置一個高階API與企業內部應用程式互動
*發現Python3的新Async IO特性與概念
*探索測試驅動開發的概念並使用PyTest來驅動程式碼測試的覆蓋率
*了解使用GitLab與網路中的DevOps實例
目錄
章節說明:推薦序
第四版 繁體中文序
前言
Chapter 1:TCP/IP 協定套組與 Python 的回顧
網際網路概述
開放式系統互聯(OSI)模型
主從式模型
網路協定套組
Python 語言概述
總結
Chapter 2:底層網路設備互動
使用 CLI 的挑戰
建立虛擬實驗環境
Python 虛擬環境
Python Pexpect 函式庫
Python Paramiko 函式庫
Netmiko 函式庫
Nornir 框架
總結
Chapter 3:應用程式介面(API)與意圖驅動網路開發
基礎設施即程式碼(IaC)
Cisco API 範例
Cisco Meraki 控制器
Python API 與 Juniper Networks 設備互動的方法
Arista Python API 介面
VyOS 範例
其他函式庫
總結
Chapter 4:Python 自動化框架 - Ansible
Ansible - 更具宣告性的框架
我們的第一個 Ansible 網路範例
Ansible 的優點
Ansible 內容集合
更多的 Ansible 網路範例
總結
Chapter 5:面向網路工程師的 Docker 容器
Docker 概述
在 Docker 建立 Python 應用程式
容器聯網
網路工程領域中的容器
Docker 與 Kubernates
總結
Chapter 6:使用 Python 來實現網路安全
實驗環境設置
Python Scapy 工具
存取列表
Syslog 搜尋
其他工具
進一步學習 Python
總結
Chapter 7:使用 Python 來進行網路監控 - 第 1 部分
實驗環境設置
簡單網路管理協定(SNMP)
Python 用於資料視覺化
將 Python 應用於 Cacti
總結
Chapter 8:使用 Python 來執行網路監控 - 第 2 部分
Graphviz 工具
流量式監測
ntop 流量監測
總結
Chapter 9:使用 Python 建立網路網頁伺服器
Python web 框架比較
Flask 與實驗環境設置
Flask 的介紹
網路資源 API
網路動態操作
身分驗證與授權
容器內執行 Flask
總結
Chapter 10:Async IO 介紹
非同步操作概述
Python asyncio 模組
Scrapli 專案
總結
Chapter 11:AWS 雲端網路開發
AWS 設置
AWS 網路概述
虛擬私有雲
專用網路連線(Direct Connect)與 VPN
網路擴充服務
其他 AWS 網路服務
總結
Chapter 12:Azure 雲端網路開發
Azure 與 AWS 網路服務比較
Azure 設置說明
Azure 管理與 API
Azure 全球基礎設施
Azure 虛擬網路
VNet 路由
Azure 虛擬私有網路(Azure VPN)
Azure ExpressRoute 服務
Azure 網路負載平衡器
其他 Azure 網路服務
總結
Chapter 13:利用 Elastic Stack 執行網路資料分析
Elastic Stack 是什麼?
實驗環境拓樸
Elastic Stack 即服務
第一個端到端範例
利用 Python client 與 Elasticsearch 互動
利用 Logstash 進行資料攝取
利用 Beats 進行資料攝取
利用 Elasticsearch 進行搜尋
利用 Kibana 來達到資料視覺化
總結
Chapter 14:Git 的使用
內容管理考量與 Git
Git 介紹
設置 Git
Git 使用範例
Git 分支操作說明
利用 Python 操作 Git
自動組態備份
使用 Git 進行協作
總結
Chapter 15:利用 GitLab 進行持續整合
傳統的變更管理流程
持續整合簡介
安裝 GitLab
GitLab runner 執行器程式
第一個 GitLab 範例
GitLab 網路範例
總結
Chapter 16:網路測試驅動開發
測試驅動開發概述
拓樸即程式碼
為網路編寫測試
pyATS 和 Genie
結論
索引
章節說明:推薦序
第四版 繁體中文序
前言
Chapter 1:TCP/IP 協定套組與 Python 的回顧
網際網路概述
開放式系統互聯(OSI)模型
主從式模型
網路協定套組
Python 語言概述
總結
Chapter 2:底層網路設備互動
使用 CLI 的挑戰
建立虛擬實驗環境
Python 虛擬環境
Python Pexpect 函式庫
Python Paramiko 函式庫
Netmiko 函式庫
Nornir 框架
總結
Chapter 3:應用程式介面(API)與意圖驅動網路開發
基礎設施即程式碼(IaC)
Cisco API 範例
Cisco Meraki 控制...