- ISBN:9787519849900
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:24cm
- 页数:478页
- 出版时间:2021-01-01
- 条形码:9787519849900 ; 978-7-5198-4990-0
本书特色
基础设施中的网络为如何部署、维护和支持应用奠定了基础。Python是网络工程师探索系统工程师和应用开发人员常用工具的一个理想语言。通过本书,你将踏上一段Python之旅,从传统的网络工程师转变为下一代网络开发人员。 本书经过了全面修订和更新以涵盖Python 3。本书增加了关于使用ELK Stack(Elasticsearch, Logstash, Kibana Beats)完成网络数据分析以及Azure云网络的新章节,除此以外,还包括了使用pyATS和Nornir等新库以及Ansible 2.8的有关更新。每一章都使用*新的库来实现示例,以确保兼容性和对概念的理解。 本书首先从Python的基本概述开始,教你如何与遗留设备以及支持API的网络设备交互。你将学习如何利用高级Python包和框架来实现网络自动化任务、并监控、管理和增强的网络安全,然后介绍Azure和AWS云网络。*后,将使用Jenkins实现持续集成,并使用测试工具验证你的网络。 通过实际工作中的案例深入介绍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
作者简介
埃里克周(Eric Chou)是一位有超过20年从业经验的资深技术专家。他在Amazon、Azure和其他财富500强公司工作期间,曾管理业内*大的一些网络。Eric热衷于网络自动化、Python以及帮助公司建立更好的安全状况。 除了本书外,他还是《Distributed Denial of Service (DDoS): Practical Detection and Defense》(O'Reilly Media)的共同作者。 Eric还是美国两项IP电话专利的主要发明人。他通过他的书、课程和博客与人们分享他对技术的理解,并对一些受欢迎的Python开源项目做出了贡献。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0