精通Python網路開發

    用Python套件與框架完成網路自動化、監控、雲端和管理

    收集中
    US$30.21

    內容簡介


    使用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實例

    作者介紹


    Eric Chou(周君逸)是一位台灣旅美工程師,擁有20多年經驗的資深技術專家。他在Amazon、Azure及其他財星500強公司工作時,曾參與一些業界最大的網絡工作。Eric熱衷於網路自動化、Python、DevOps以及幫助公司建立更好的安全狀態。他除了是《精通Python網路開發》(Packt)的作者之外,也是多本暢銷書籍和高評價線上課程的作者或合著者。Eric也是IP電話和網路領域等多項美國專利的主要發明人或共同發明人。他透過書籍、課程、部落格分享了他對科技的濃厚興趣,並為一些流行的Python開源專案做出許多貢獻。

    目錄


    推薦序
    第四版 繁體中文序
    前言

    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
    結論

    索引

    章節目錄

    1-1封面頁
    1-2書名頁
    1-3推薦序
    1-4第四版 繁體中文序
    1-5關於作者
    1-6關於審校者
    1-7目錄
    1-8前言
    1-9Ch01 TCP/IP 協定套組與Python 的回顧
    1-10網際網路概述
    1-11伺服器、主機與網路元件
    1-12資料中心的崛起
    1-13開放式系統互聯(OSI)模型
    1-14主從式模型
    1-15網路協定套組
    1-16傳輸控制協定
    1-17使用者資料包協定
    1-18網際網路協定
    1-19Python 語言概述
    1-20作業系統
    1-21執行Python 程式
    1-22Python 內建型別
    1-23Python 運算子
    1-24Python 流程控制工具
    1-25Python 函式
    1-26Python 類別
    1-27Python 模組與套件
    1-28總結
    1-29Ch02 底層網路設備互動
    1-30使用CLI 的挑戰
    1-31建立虛擬實驗環境
    1-32實體設備
    1-33虛擬設備
    1-34Cisco 建模實驗室
    1-35Cisco DevNet 計畫
    1-36GNS3 和其他虛擬實驗工具
    1-37Python 虛擬環境
    1-38Python Pexpect 函式庫
    1-39Pexpect 安裝說明
    1-40Pexpect 概述
    1-41第一支Pexpect 程式
    1-42更多的Pexpect 功能
    1-43Pexpect 與SSH
    1-44Pexpect 完整範例
    1-45Python Paramiko 函式庫
    1-46Paramiko 安裝說明
    1-47Paramiko 概述
    1-48第一支Paramiko 程式
    1-49更多的Paramiko 功能
    1-50更多Praramiko 範例
    1-51Netmiko 函式庫
    1-52Nornir 框架
    1-53Pexpect 和Paramiko 相比於其他工具的不利之處
    1-54總結
    1-55Ch03 應用程式介面(API)與意圖驅動網路開發
    1-56基礎設施即程式碼(IaC)
    1-57意圖驅動網路
    1-58螢幕擷取與API 結構化輸出
    1-59IaC 的資料建模
    1-60YANG 與網路組態協定工具(NETCONF)
    1-61Cisco API 範例
    1-62Cisco NX-API 介面
    1-63Cisco YANG 模型
    1-64Cisco ACI 範例
    1-65Cisco Meraki 控制器
    1-66Python API 與Juniper Networks 設備互動的方法
    1-67Juniper 與網路設定協定工具(NETCONF)
    1-68面相開發者的Juniper PyEZ 函式庫
    1-69Arista Python API 介面
    1-70Arista eAPI 管理
    1-71Arista Pyeapi 函式庫
    1-72VyOS 範例
    1-73其他函式庫
    1-74總結
    1-75Ch04 Python 自動化框架─Ansible
    1-76Ansible─更具宣告性的框架
    1-77Ansible 版本
    1-78我們的第一個Ansible 網路範例
    1-79安裝控制節點
    1-80實驗環境拓樸
    1-81Ansible 的優點
    1-82無代理
    1-83冪等性
    1-84簡單與可擴張
    1-85Ansible 內容集合
    1-86更多的Ansible 網路範例
    1-87設備列表檔案巢狀分組
    1-88Ansible 條件判斷
    1-89組態變更
    1-90Ansible 網路fact 變數
    1-91Ansible 迴圈
    1-92模板
    1-93總結
    1-94Ch05 面向網路工程師的Docker 容器
    1-95Docker 概述
    1-96Docker 的優點
    1-97在Docker 建立Python 應用程式
    1-98安裝Docker
    1-99有用的Docker 指令
    1-100建立hello world 程式
    1-101建立我們的應用程式
    1-102分享Docker 映像檔
    1-103使用Docker-compose 進行容器協作
    1-104容器聯網
    1-105容器主機網路
    1-106客製化橋接網路
    1-107其他容器網路選項
    1-108網路工程領域中的容器
    1-109Containerlab 虛擬網路開發系統
    1-110Docker 與Kubernates
    1-111總結
    1-112Ch06 使用Python 來實現網路安全
    1-113實驗環境設置
    1-114Python Scapy 工具
    1-115安裝Scapy
    1-116互動範例
    1-117使用Scapy 抓取封包
    1-118掃描TCP 連接埠
    1-119ping 集合
    1-120一般攻擊
    1-121Scapy 資源
    1-122存取列表
    1-123使用Ansible 實作存取列表
    1-124媒體存取控制(MAC)存取列表
    1-125Syslog 搜尋
    1-126利用正規表示式模組搜尋
    1-127其他工具
    1-128私有虛擬區域網路(VLAN)
    1-129使用Python 設定UFW
    1-130進一步學習Python
    1-131總結
    1-132Ch07 使用Python 來進行網路監控─第1 部分
    1-133實驗環境設置
    1-134簡單網路管理協定(SNMP)
    1-135SNMP 設置
    1-136PySNMP 函式庫
    1-137Python 用於資料視覺化
    1-138Matplotlib 函式庫
    1-139Pygal 函式庫
    1-140將Python 應用於Cacti
    1-141安裝說明
    1-142使用Python 腳本作為輸入來源
    1-143總結
    1-144Ch08 使用Python 來執行網路監控─第2 部分
    1-145Graphviz 工具
    1-146實驗環境設置
    1-147安裝說明
    1-148Graphviz 範例
    1-149Python 與Graphviz 範例
    1-150LLDP 鄰近節點繪圖
    1-151流量式監測
    1-152使用Python 解析NetFlow
    1-153ntop 流量監測
    1-154ntop 的Python 擴充
    1-155sFlow 工具
    1-156總結
    1-157Ch09 使用Python建立網路網頁伺服器
    1-158Python web 框架比較
    1-159Flask 與實驗環境設置
    1-160Flask 的介紹
    1-161Flask 版本
    1-162Flask 範例
    1-163HTTPie 客戶端工具
    1-164URL 路由
    1-165URL 變數
    1-166URL 生成
    1-167jsonify 函式回傳
    1-168網路資源API
    1-169Flask-SQLAlchemy 模組
    1-170網路內容API
    1-171設備API
    1-172設備ID API
    1-173網路動態操作
    1-174非同步操作
    1-175身分驗證與授權
    1-176容器內執行Flask
    1-177總結
    1-178Ch10 Async IO 介紹
    1-179非同步操作概述
    1-180Python 多工處理
    1-181Python 多執行緒
    1-182Python asyncio 模組
    1-183Scrapli 專案
    1-184Scrapli 範例
    1-185Scrapli 非同步範例
    1-186總結
    1-187Ch11 AWS 雲端網路開發
    1-188AWS 設置
    1-189AWS CLI 與Python 軟體開發工具包(SDK)
    1-190AWS 網路概述
    1-191虛擬私有雲
    1-192路由表與路由目標
    1-193使用CloudFormation 達到自動化
    1-194安全群組與網路存取控制列表(ACL)
    1-195彈性IP
    1-196NAT 閘道
    1-197專用網路連線(Direct Connect)與VPN
    1-198虛擬私人網路(VPN)閘道
    1-199專用網路連線
    1-200網路擴充服務
    1-201彈性負載平衡
    1-202Route 53 網域名稱系統(DNS)服務
    1-203CloudFront 內容傳遞網路服務
    1-204其他AWS 網路服務
    1-205總結
    1-206Ch12 Azure 雲端網路開發
    1-207Azure 與AWS 網路服務比較
    1-208Azure 設置說明
    1-209Azure 管理與API
    1-210Azure 服務主體
    1-211Python 與PowerShell 的比較
    1-212Azure 全球基礎設施
    1-213Azure 虛擬網路
    1-214網際網路存取
    1-215網路資源創建
    1-216VNet 服務端點
    1-217VNet 點對點連線
    1-218VNet 路由
    1-219網路安全群組
    1-220Azure 虛擬私有網路(Azure VPN)
    1-221Azure ExpressRoute 服務
    1-222Azure 網路負載平衡器
    1-223其他Azure 網路服務
    1-224總結
    1-225Ch13 利用Elastic Stack 執行網路資料分析
    1-226Elastic Stack 是什麼?
    1-227實驗環境拓樸
    1-228Elastic Stack 即服務
    1-229第一個端到端範例
    1-230利用Python client 與Elasticsearch 互動
    1-231利用Logstash 進行資料攝取
    1-232利用Beats 進行資料攝取
    1-233利用Elasticsearch 進行搜尋
    1-234利用Kibana 來達到資料視覺化
    1-235總結
    1-236Ch14 Git 的使用
    1-237內容管理考量與Git
    1-238Git 介紹
    1-239Git 的優勢
    1-240Git 術語
    1-241Git 與GitHub
    1-242設置Git
    1-243Gitignore 檔案
    1-244Git 使用範例
    1-245Git 分支操作說明
    1-246GitHub 範例
    1-247利用Python 操作Git
    1-248GitPython 套件
    1-249PyGitHub 套件
    1-250自動組態備份
    1-251使用Git 進行協作
    1-252總結
    1-253Ch15 利用GitLab 進行持續整合
    1-254傳統的變更管理流程
    1-255持續整合簡介
    1-256安裝GitLab
    1-257GitLab runner 執行器程式
    1-258第一個GitLab 範例
    1-259GitLab 網路範例
    1-260總結
    1-261Ch16 網路測試驅動開發
    1-262測試驅動開發概述
    1-263測試定義
    1-264拓樸即程式碼
    1-265XML 解析範例
    1-266Python 的單元測試模組
    1-267更多關於Python 測試資訊
    1-268pytest 範例
    1-269為網路編寫測試
    1-270網路連通性測試
    1-271測試網路延遲
    1-272安全性測試
    1-273交易測試
    1-274網路組態測試
    1-275Ansible 測試
    1-276pyATS 和Genie
    1-277結論
    1-278索引
    1-279版權頁
    1-280封底頁

    常見問答

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    猜你喜歡

    用戶評價

    | 收集中

    銷售方案