精通Python网络编程(第三版)

精通Python网络编程(第三版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

内容简介

 本书首先从Python的基本概述开始,介绍如何与遗留设备以及支持API的网络设备交互。了解如何利用高级Python包和框架来实现网络自动化任务、监控、管理和增强的网络安全性,然后介绍Azure和AWS云网络。最后,使用Jenkins实现持续集成,并使用测试工具验证网络。
本书适合希望使用Python和其他工具迎接网络挑战的IT专业人员和运维工程师。

章节目录

 目录
序一
序二
前言
第1章 TCP/IP协议簇和Python回顾  1
1.1 互联网概述 2
1.1.1 服务器、主机和网络组件  3
1.1.2 数据中心的兴起  3
1.2 OSI模型 6
1.3 客户-服务器模型  8
1.4 网络协议簇 8
1.4.1 传输控制协议  9
1.4.2 用户数据报协议 10
1.4.3 Internet协议  11
1.5 Python语言概述  13
1.5.1 Python版本  14
1.5.2 操作系统  15
1.5.3 运行Python程序  15
1.5.4 Python内置类型  16
1.5.5 Python操作符  22
1.5.6 Python控制流工具  23
1.5.7 Python函数  25
1.5.8 Python类  26
1.5.9 Python模块和包  26
1.6 小结  28
第2章 低层网络设备交互 29
2.1 CLI的挑战  30
2.2 构建虚拟实验室  31
2.2.1 物理设备  31
2.2.2 虚拟设备  31
2.2.3 CiscoVIRL  32
2.2.4 CiscoDevNe和dCloud  36
2.2.5 GNS3 37
2.3 PythonPexpect库  39
2.3.1 Python虚拟环境  39
2.3.2 Pexpect安装  40
2.3.3 Pexpect概述  41
2.3.4 第一个Pexpect程序  46
2.3.5 更多Pexpect特性  47
2.3.6 Pexpect和SSH  48
2.3.7 Pexpect示例集成  49
2.4 PythonParamiko库  51
2.4.1 Paramiko安装  51
2.4.2 Paramiko概述  52
2.4.3 第一个Paramiko程序  55
2.4.4 更多Paramiko特性  56
2.4.5 Paramiko示例集成  57
2.5 Netmiko库  59
2.6 Nornir框架  61
2.7 小结  64
第3章 API和意图驱动网络 65
3.1 基础设施即代码  66
3.1.1 意图驱动网络 66
3.1.2 屏幕抓取与API结构化输出 67
3.1.3 基础设施即代码的数据建模  70
3.1.4 YANG和NETCONF  71
3.2 CiscoAPI和ACI  72
3.2.1 CiscoNX-API  72
3.2.2 CiscoYANG模型  78
3.2.3 CiscoACI和APIC-EM  80
3.3 CiscoMeraki控制器  82
3.4 JuniperNetworks的PythonAPI 84
3.4.1 Juniper和NETCONF  84
3.4.2 面向开发人员的JuniperPyEZ  89
3.5 AristaPythonAPI 93
3.5.1 AristaeAPI管理  94
3.5.2 AristaPyeapi库 98
3.6 VyOS示例  103
3.7 其他库 104
3.8 小结 105
第4章 Python自动化框架:Ansible基础 106
4.1 Ansible:更具声明性的框架  107
4.2 一个简单的Ansible示例  108
4.2.1 控制节点安装  109
4.2.2 从源代码运行不同版本的Ansible 110
4.2.3 实验室设置  111
4.2.4 第一个Ansibleplaybook 111
4.3 Ansible的优点  115
4.3.1 无代理  116
4.3.2 幂等性  116
4.3.3 简单而且可扩展  116
4.3.4 网络供应商支持  117
4.4 Ansible架构  118
4.4.1 YAML 119
4.4.2 清单文件  120
4.4.3 变量  121
4.4.4 使用Jinja2模板  126
4.5 Ansible网络模块  126
4.5.1 本地连接和fact  126
4.5.2 provider参数  127
4.6 AnsibleCisco示例  129
4.7 Ansible2.8playbook示例  132
4.8 AnsibleJuniper示例 136
4.9 AnsibleArista示例  137
4.10 小结  138
第5章 Python自动化框架:进阶  140
5.1 实验室准备 140
5.2 Ansible条件  141
5.2.1 when子句 141
5.2.2 Ansible网络fact 144
5.2.3 网络模块条件  147
5.3 Ansible循环  149
5.3.1 标准循环  149
5.3.2 基于字典的循环  151
5.4 模板 154
5.4.1 Jinja2模板变量  156
5.4.2 Jinja2循环  157
5.4.3 Jinja2条件  157
5.5 组和主机变量 160
5.5.1 组变量  161
5.5.2 主机变量  162
5.6 AnsibleVault  163
5.7 Ansibleinclude和角色 165
5.7.1 Ansibleinclude语句           165
5.7.2 Ansible角色 167
5.8 编写你自己的自定义模块 171
5.8.1 第一个自定义模块  171
5.8.2 第二个自定义模块  174
5.9 小结 175
第6章 使用Python实现网络安全 176
6.1 实验室设置 176
6.2 PythonScapy  180
6.2.1 安装Scapy  181
6.2.2 交互式示例  182
6.2.3 使用Scapy捕获数据包  185
6.2.4 TCP端口扫描  186
6.2.5 ping收集  191
6.2.6 常见攻击  192
6.2.7 Scapy资源  193
6.3 访问列表 193
6.3.1 用Ansible实现访问列表 194
6.3.2 MAC访问列表 197
6.4 syslog搜索 199
6.5 其他工具 202
6.5.1 私有VLAN 202
6.5.2 用Python使用UFW  203
6.6 延伸阅读 204
6.7 小结 204
第7章 使用Python实现网络监控:第1部分 206
7.1 实验室设置 207
7.2 SNMP            207
7.2.1 设置  208
7.2.2 PySNMP  210
7.3 Python实现数据可视化  216
7.3.1 Matplotlib  217
7.3.2 Pygal  223
7.4 Python用于Cacti 227
7.4.1 安装  228
7.4.2 Python脚本作为输入源  229
7.5 小结 232
第8章 使用Python实现网络监控:第2部分 233
8.1 Graphviz  234
8.1.1 实验室设置  234
8.1.2 安装  236
8.1.3 Graphviz示例  236
8.1.4 PythonGraphviz示例  237
8.1.5 LLDP邻居绘图  238
8.2 基于流的监控 248
8.3 ntop流量监控  254
8.3.1 ntop的Python扩展 256
8.3.2 sFlow  260
8.4 小结 265
第9章 使用Python构建网络 Web服务  266
9.1 比较PythonWeb框架 267
9.2 Flask和实验室设置  269
9.3 Flask介绍  270
9.3.1 HTTPie客户  271
9.3.2 URL路由 273
9.3.3 URL变          量 274
9.3.4 URL生成 275
9.3.5 Jsonify返回  277
9.4 网络资源API  278
9.4.1 Flask-SQLAlchemy  278
9.4.2 网络内容API  280
9.4.3 设备API 283
9.4.4 设备IDAPI  286
9.5 网络动态操作 286
9.6 认证和授权 292
9.7 在容器中运行Flask 295
9.8 小结 298
第10章 AWS云网络  300
10.1 AWS设置 301
10.2 AWS网络概述 305
10.3 虚拟私有云  311
10.3.1 路由表和路由目标 315
10.3.2 用CloudFormation实现动画 317
10.3.3 安全组和网络ACL  321
10.3.4 弹性IP  323
10.3.5 NAT网关  325
10.4 DirectConnect和VPN  326
10.4.1 VPN网关  326
10.4.2 DirectConnect  326
10.5 网络伸缩服务  328
10.5.1 弹性负载均衡 328
10.5.2 Route53DNS服务  329
10.5.3 CloudFrontCDN服务            329
10.6 其他AWS网络服务  330
10.7 小结  330
第11章 Azure云网络  332
11.1 Azure和AWS网络服务比较  333
11.2 Azure设置  334
11.3 Azure管理和API  336
11.3.1 Azure服务原则  339
11.3.2 Python与PowerShell  341
11.4 Azure全球基础设施  341
11.5 Azure虚拟网络  343
11.5.1 互联网访问 344
11.5.2 网络资源创建 348
11.5.3 VNet服务端点  349
11.5.4 VNet对等连接  350
11.6 VNet路由  353
11.7 AzureVPN  360
11.8 AzureExpressRoute  363
11.9 Azure网络负载均衡器  364
11.10 其他Azure网络服务 365
11.11 小结 366
第12章 使用ElasticStack完成网络数据分析 367
12.1 ElasticStack是什么?  367
12.2 实验室拓扑  369
12.3 ElasticStack作为服务  373
12.4 第一个端到端示例  375
12.5 Elasticsearch与Python客户端交互 379
12.6 使用Logstash实现数据摄取 381
12.7 使用Beats实现数据摄取  383
12.8 使用Elasticsearch实现搜索  389
12.9 使用Kibana实现数据可视化 394
12.10 小结 398
第13章 使用Git 399
13.1 内容管理问题和Git  399
13.2 Git介绍  400
13.2.1 Git的好处  401
13.2.2 Git术语  402
13.2.3 Git和GitHub  402
13.3 设置Git  403
13.4 Git使用示例  405
13.5 Git分支  410
13.6 使用Python操作Git 420
13.6.1 GitPython  420
13.6.2 PyGitHub  421
13.7 自动化配置备份  423
13.8 使用Git协作  425
13.9 小结  426
第14章 使用Jenkins持续集成  427
14.1 传统变更管理过程  427
14.2 持续集成介绍  429
14.3 安装Jenkins  429
14.4 Jenkins示例 432
14.4.1 执行Python脚本的第一个作业  432
14.4.2 Jenkins插件  437
14.4.3 网络持续集成示例 439
14.5 使用Python操作Jenkins  446
14.6 网络的持续集成  448
14.7 小结  448
第15章 网络测试驱动开发 449
15.1 测试驱动开发概述  449
15.2 拓扑作为代码  451
15.2.1 Python的unittest模块  456
15.2.2 关于Python测试  460
15.2.3 pytest示例 461
15.3 编写网络测试  464
15.3.1 测试可达性 464
15.3.2 测试网络延迟 466
15.3.3 测试安全性 467
15.3.4 测试事务  467
15.3.5 测试网络配置 468
15.3.6 测试Ansible  468
15.4 pytest与Jenkins集成 469
15.5 pyATS和Genie  473
15.6 小结  477

精通Python网络编程(第三版)是2021年由中国电力出版社出版,作者[美]埃里克·周。

得书感谢您对《精通Python网络编程(第三版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python游戏趣味编程 电子书
1.易于学习和理解:先讲解较少的语法知识,通过游戏案例逐步引入新的语法知识; 2.为初学者量身打造:案例从易到难,所有程序的代码均不超过100行; 3.趣味性强:12个案例,涵盖了多种游戏类型,寓教于乐; 4.可拓展性强:提供练习题和参考答案,巩固知识,训练逻辑思维; 5.配套素材齐全:提供完整源代码和分步骤源代码、游戏素材、游戏效果演示视频,可通过异步社区观看游戏开发步骤讲解视频; 6.全彩印刷。 美国教育家杜威曾说过:“大多数的人,只觉得五官能接触的、实用的东西才有趣味,书本上的趣味是没有的。” 《Python游戏趣味编程》通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者学习用Python开发趣味游戏,从而提升读者对编程的兴趣和能力。 《Python游戏趣味编程》把趣味游戏开发应用于Python编程教学,通过介绍12个由易到难的有趣游戏案例的编写过程,带领读者从零基础开始学习。全书共13章,系统讲解了Python语言基本概念、开发环境搭建、循环、列表、数据类型、条件、复合运算符、字符串拼接、布尔变量、数组、函数、列表操作、面向对象编程等基础知识,还介绍了图片操作、文件读写、声音播放、异常处理等较为实用的编程技能,所有这些知识和技能,都通过游戏案例展示其用法。贯穿各章,还给出了一些练习,帮助读者巩固所学的知识。附录A给出了这些练习题的答案,附录B给出了Python语法知识在书中相关章节的索引。 《Python游戏趣味编程》适合不同年龄、不同层次的Python编程初学者阅读和自学,也可以作为中学生、大学生学习程序设计的教材和少儿编程培训机构的参考教材。 本书适合以下人群阅读: 想要让孩子学习Python编程的家长,或者想要自己教孩子编程的家长。 学习过其他编程语言,想要快速学习Python的人。 对计算机游戏感兴趣,想要尝试Python游戏编程的人。 想要学习Python编程的中学生和大学生。 少儿编程培训机构的老师和学生。 任何对计算机编程感兴趣、特别是初次接触编程的人。 本书中制作和讲解的小游戏 弹跳的小球 美丽的圆圈画 疯狂的小圆圈 飞翔的小鸟 见缝插针 飞机大战 勇闯地下一百层 贪吃蛇 拼图游戏 消灭星星 坚持一百秒 趣味图像生成
Python编程轻松进阶 电子书
阅读本书,理解代码底层逻辑,像职业程序员一样使用Python。
Python编程做中学 电子书
一本零基础的Python编程入门书。
Python趣味创意编程 电子书
本书基于Python编程,实现了15个有趣的互动场景,循序渐进地向读者展示了这些场景的实现过程,帮助读者掌握Python编程。
Python快速编程入门 电子书
Python是一种面向对象、解释性的高*程序语言,它已经被应用在众多领域,包括Web开发、操作系统管理、服务器运维的自动化脚本、科学计算、桌面软件、服务器软件(网络软件)、游戏等方面。本书以Windows为平台,系统全面地讲解了Python3的基础知识,其中,第1章主要是带领读者认识Python;第2章主要针对Python的基础语法进行讲解;第3章主要介绍Python中的常用语句;第4~5章主要介