🛠️网络工程师的Python之路:如何高效地进行网络运维自动化?🛠️

作为一名网络工程师,你是否曾经为了繁琐的网络运维工作而烦恼?现在,我们迎来了一本引领网络工程师走向Python之路的好书——《网络工程师的Python之路:网络运维自动化实战(第2版)》。这本书将为你揭示Python在网络运维自动化实战中的强大魅力,让你轻松实现高效的网络管理工作。

★ 一、书籍概述

《网络工程师的Python之路:网络运维自动化实战(第2版)》是由电子工业出版社于2023年出版的一本关于网络工程师如何利用Python进行网络运维自动化的实战指南。这本书的作者王印和朱嘉盛都是网络工程领域的专家,他们通过丰富的实践经验和通俗易懂的语言,为读者揭示了Python在网络运维中的广泛应用。

★ 二、书籍亮点

🌟站在零基础初学者的角度,让读者轻松上手Python

这本书的作者们充分考虑到了初学者的需求,从Python的基础知识讲起,逐步引导读者深入了解Python在网络运维中的应用。通过大量的实例和海量的实验前后截图,帮助读者逐步掌握Python在网络运维中的各种技巧。

🌟实战案例丰富,实用性强

书中不仅讲解了Python的基础知识,还通过丰富的实战案例,让读者真正掌握Python在网络运维中的实际应用。这些案例涵盖了网络管理的各个方面,如设备管理、故障排查、安全防护等,具有很强的实用性。

🌟注重深度和广度,让读者全面掌握Python在网络运维中的应用

这本书不仅注重知识的深度,也注重知识的广度。作者们不仅讲解了Python的基础语法和常用库,还深入介绍了如何利用Python进行网络设备的配置、管理和监控。此外,书中还涵盖了一些高级主题,如利用Python进行网络协议分析、安全漏洞扫描等,让读者全面掌握Python在网络运维中的应用。

★ 三、书籍价值

🌟提高网络工程师的工作效率

通过学习这本书,网络工程师可以掌握如何利用Python自动化的工具进行日常的网络运维工作,从而提高工作效率。例如,利用Python自动化工具进行设备配置、监控和管理,可以大大减少手动操作的时间和精力。

🌟提升网络安全防护能力

通过书中介绍的Python网络安全工具和技术,网络工程师可以更好地发现和处理网络安全问题,提升网络安全防护能力。例如,利用Python进行网络协议分析和安全漏洞扫描,可以帮助工程师及时发现并解决潜在的安全风险。

🌟增强职业竞争力

通过学习这本书,网络工程师可以掌握Python在网络运维中的应用技巧和实战经验,从而在职场中更具竞争力。具备这种技能的工程师往往更受企业欢迎,职业发展前景更加广阔。

★ 四、结语

总的来说,《网络工程师的Python之路:网络运维自动化实战(第2版)》是一本极具价值的实战指南,适合广大网络工程师和技术爱好者阅读。通过学习这本书,你将轻松掌握Python在网络运维中的应用技巧和实战经验,从而在职场中更具竞争力。赶快订阅并开始学习吧!

👆请点击上面《网络工程师的Python之路:网络运维自动化实战(第2版)》了解更多详情!☝️

书籍信息

书名:网络工程师的Python之路:网络运维自动化实战(第2版)
作者:王印 朱嘉盛
评分:
出版日期:
出版社:电子工业出版社
ISBN:9787121450273
页数:592
定价:138

网络工程师的Python之路:网络运维自动化实战(第2版)

内容简介

本书第1版于2020年11月出版发行后大获成功,Python及NetDevOps技术在国内计算机网络圈子里迅速走红,国内与NetDevOps相关的技术文章在网络上如雨后春笋般大量涌现,行业里也出现了很多要求掌握NetDevOps技术的网络工程师职位,并且需求越来越多,NetDevOps是“下一代网络工程师”必须掌握的技能已经成为既定且不可逆的事实。

以Python为主的NetDevOps技术知识更迭很快,第2版将在第1版的基础上添加TextFSM详解、Netmiko详解、Nornir详解、NETCONF详解及RESTCONF详解等5章内容,并去掉pyping、pyntc、netdev等一些不再流行或者作者已经公开宣布不再维护的模块内容。

另外,第2版将在思科设备的基础上添加华为设备的内容,由朱嘉盛老师执笔,相信能对主要使用国产设备的国内网络工程师更加有益。

★ 资深网络老兵、知乎专栏“网路行者”作者联合“网工手艺”作者全新打造

★ 面向Python零基础网工的Go-To Book再版升级,基于Python 3.10

★ 新增TextFSM、Netmiko、Nornir、NETCONF、RESTCONF等内容,知识点更全

★ 从基础知识到实战应用,作者手把手教学,逐步引导,可作为教学用书

★ 13种Python语法知识全覆盖,助力传统网工轻松转型

★ 10余种Python网络运维相关模块,举例介绍更多实用工具

★ 60余个实验,覆盖模拟器及真机(思科和华为设备),实用性更强

★ 加入微信读者群,与万千网工共同学习Python知识

★ 更有作者亲自指导,为网络工程师营造“自学自驱”学习氛围

书籍目录

第1章 Python的安装和使用 1
1.1 安装Python 1
1.1.1 在Windows下安装Python 3.10.6 1
1.1.2 在Linux下安装Python 3.10.6 5
1.2 在Windows下使用Python 3.10.6 8
1.2.1 交互模式 8
1.2.2 脚本模式 10
1.2.3 运行Python脚本 13
1.3 在Linux下使用Python 3.10.6 16
1.3.1 交互模式 16
1.3.2 脚本模式 17
1.3.3 运行Python脚本 19
1.3.4 Shebang符号 19
第2章 Python基本语法 21
2.1 变量 21
2.2 注释 24
2.3 方法和函数 25
2.4 数据类型 26
2.4.1 字符串 27
2.4.2 整数和浮点数 36
2.4.3 列表 39
2.4.4 字典 44
2.4.5 布尔类型 48
2.4.6 集合、元组、空值 51
第3章 Python进阶语法 54
3.1 条件(判断)语句 54
3.1.1 通过比较运算符作判断 54
3.1.2 通过字符串方法+逻辑运算符作判断 56
3.1.3 通过成员运算符作判断 58
3.2 循环语句 60
3.2.1 while语句 60
3.2.2 for语句 63
3.3 文本文件的读/写 65
3.3.1 open()函数及其模式 65
3.3.2 文件读取 66
3.3.3 文件写入 74
3.3.4 with语句 77
3.4 自定义函数 78
3.4.1 函数的创建和调用 78
3.4.2 函数值的返回 80
3.4.3 嵌套函数 81
3.5 模块 82
3.5.1 不带自定义函数的模块 82
3.5.2 带自定义函数的模块 83
3.5.3 Python内建模块和第三方模块 84
3.5.4 from…import… 87
3.5.5 if __name__ == '__main__': 87
3.6 正则表达式 88
3.6.1 什么是正则表达式 89
3.6.2 正则表达式的验证 89
3.6.3 正则表达式的规则 90
3.6.4 正则表达式在Python中的应用 97
3.7 异常处理 102
3.8 类 106
3.8.1 怎么创建类 107
3.8.2 方法 109
3.8.3 继承 110
第4章 Python网络运维实验(网络模拟器) 112
4.1 实验运行环境 112
4.1.1 实验操作系统 112
4.1.2 思科实验网络拓扑 113
4.1.3 华为实验网络拓扑 114
4.2 Python中的Telnet和SSH模块 114
4.2.1 Telnetlib 115
4.2.2 Paramiko和Netmiko 121
4.3 实验1 input()函数和getpass模块(思科设备) 135
4.3.1 实验目的 136
4.3.2 实验准备 136
4.3.3 实验代码 137
4.3.4 代码分段讲解 138
4.3.5 验证 139
4.4 实验1 input()函数和getpass模块(华为设备) 145
4.5 实验2 批量登录地址不连续的交换机(思科设备) 147
4.5.1 实验目的 147
4.5.2 实验准备 147
4.5.3 实验代码 148
4.5.4 代码分段讲解 149
4.5.5 验证 150
4.6 实验2 批量登录地址不连续的交换机(华为设备) 152
4.7 实验3 异常处理的应用(思科设备) 155
4.7.1 实验目的 156
4.7.2 实验准备 156
4.7.3 实验代码 157
4.7.4 代码分段讲解 159
4.7.5 验证 160
4.8 实验3 异常处理的应用(华为设备) 162
4.9 实验4 用Python实现网络设备的配置备份(思科设备) 164
4.9.1 实验目的 164
4.9.2 实验准备 164
4.9.3 实验代码 167
4.9.4 代码分段讲解 168
4.9.5 验证 170
4.10 实验4 用Python实现网络设备的配置备份(华为设备) 172
第5章 Python网络运维实战(真机) 175
5.1 实验1 大规模批量修改交换机QoS的配置(思科设备) 175
5.1.1 实验背景 176
5.1.2 实验目的 177
5.1.3 实验准备 177
5.1.4 实验代码 178
5.1.5 代码分段讲解 179
5.1.6 验证 181
5.2 实验2 pythonping的使用方法(思科设备) 184
5.2.1 实验背景 185
5.2.2 实验目的 185
5.2.3 实验思路 185
5.2.4 实验准备——脚本1 186
5.2.5 实验代码——脚本1 187
5.2.6 脚本1代码分段讲解 187
5.2.7 脚本1验证 190
5.2.8 实验准备——脚本2 190
5.2.9 实验代码——脚本2 191
5.2.10 脚本2代码分段讲解 193
5.2.11 脚本2验证 196
5.3 实验3 利用Python脚本检查交换机的配置(思科设备) 197
5.3.1 实验背景 197
5.3.2 实验目的 198
5.3.3 实验思路 198
5.3.4 实验准备——脚本1 199
5.3.5 实验代码——脚本1 199
5.3.6 脚本1代码分段讲解 201
5.3.7 脚本1验证 206
5.3.8 实验准备——脚本2 206
5.3.9 实验代码——脚本2 207
5.3.10 脚本2代码分段讲解 208
5.3.11 脚本2验证 210
5.4 实验4 现网超长命令回显处理(华为设备) 211
5.4.1 实验背景 211
5.4.2 实验目的 212
5.4.3 实验思路 212
5.4.4 实验准备——脚本1 213
5.4.5 脚本1验证 214
5.4.6 实验准备——脚本2 214
5.4.7 脚本2验证 216
5.5 实验5 自定义ping工具及exe打包(华为设备) 216
5.5.1 实验背景 216
5.5.2 实验目的 217
5.5.3 实验思路 217
5.5.4 实验准备——脚本 218
5.5.5 脚本验证 219
5.5.6 脚本打包 220
5.5.7 打包验证 220
第6章 Python内置模块与第三方模块详解 222
6.1 JSON 223
6.1.1 JSON基础知识 223
6.1.2 JSON在Python中的使用 224
6.2 正则表达式的痛点问题 226
6.3 TextFSM和ntc-templates 227
6.3.1 TextFSM的安装 228
6.3.2 TextFSM模板的创建和应用 230
6.3.3 ntc-templates 234
6.4 NAPALM 238
6.4.1 什么是NAPALM 239
6.4.2 NAPALM的优点 239
6.4.3 NAPALM的缺点 241
6.4.4 NAPALM的安装 242
6.4.5 NAPALM的应用 242
6.5 asyncio 248
6.5.1 同步与异步 248
6.5.2 异步在Python中的应用 249
6.6 多线程 252
6.6.1 单线程与多线程 252
6.6.2 多线程在Python中的应用 253
6.6.3 多线程在Netmiko中的应用 257
6.7 CSV和Jinja2 260
6.7.1 CSV配置文件及csv模块在Python中的使用 260
6.7.2 Jinja2配置模板 262
6.7.3 Jinja2在Python中的使用 264
6.7.4 将生成的配置命令上传到交换机并执行 267
第7章 TextFSM详解 273
7.1 TextFSM的安装及引例 274
7.1.1 TextFSM的安装 274
7.1.2 TextFSM引例类比 275
7.1.3 TextFSM引例详解 276
7.2 实验1 单行回显单行rule 280
7.2.1 安装tabulate模块 280
7.2.2 创建实验文件夹 281
7.2.3 准备output.txt 282
7.2.4 准备template.txt 282
7.2.5 准备Python脚本 283
7.2.6 执行Python脚本 286
7.2.7 模板匹配过程 286
7.2.8 实验小结 286
7.3 实验2 多行回显单行rule 286
7.3.1 准备output.txt 287
7.3.2 准备template.txt 288
7.3.3 准备Python脚本 289
7.3.4 执行Python脚本 289
7.3.5 模板匹配过程 290
7.3.6 实验小结 291
7.4 实验3 多行回显多行rule,初识关键字 291
7.4.1 准备output.txt 291
7.4.2 准备template.txt 292
7.4.3 准备Python脚本 293
7.4.4 实验调试 294
7.4.5 模板匹配过程 298
7.4.6 实验小结 299
7.5 实验4 关键字List和动作Continue.Record 299
7.5.1 准备output.txt 299
7.5.2 准备template.txt 300
7.5.3 准备Python脚本 300
7.5.4 实验调测 301
7.5.5 模板匹配过程 308
7.5.6 实验小结 308
7.6 TextFSM场景梳理及拓展 309
第8章 Netmiko详解 310
8.1 实验1 通过Netmiko登录一台交换机(思科设备) 311
8.2 实验1 通过Netmiko登录一台交换机(华为设备) 314
8.3 实验2 通过Netmiko向设备做配置(思科设备) 315
8.4 实验2 通过Netmiko向设备做配置(华为设备) 319
8.5 实验3 用Netmiko配合TextFSM或Genie将回显格式化(思科设备) 321
8.6 实验3 用Netmiko配合TextFSM或Genie将回显格式化(华为设备) 327
8.7 实验4 通过Netmiko连接多台交换机(思科设备) 330
8.8 实验4 通过Netmiko连接多台交换机(华为设备) 335
8.9 实验5 Netmiko配合Jinja2配置模板为设备做配置(思科设备) 336
8.10 实验5 Netmiko配合Jinja2配置模板为设备做配置(华为设备) 340
8.11 实验6 在Netmiko中使用enable密码进入设备特权模式(思科设备) 342
8.12 实验6 在Netmiko中使用enable密码进入设备特权模式(华为设备) 346
8.13 实验7 使用Netmiko向设备传送文件(思科设备) 348
8.14 实验7 使用Netmiko向设备传送文件(华为设备) 351
8.15 实验8 使用Netmiko处理设备提示命令(思科设备) 354
8.16 实验8 使用Netmiko处理设备提示命令(华为设备) 357
8.17 实验9 使用Netmiko获取设备主机名(思科设备) 358
8.18 实验9 使用Netmiko获取设备主机名(华为设备) 360
8.19 Netmiko 4的新功能介绍 361
第9章 Nornir详解 368
9.1 Nornir实验准备(思科设备,CentOS系统) 370
9.2 Nornir实验准备(华为设备,Windows系统) 374
9.3 实验1 调用nornir_napalm获取设备的facts和interfaces信息(思科设备) 378
9.4 实验1 调用nornir_napalm获取设备的facts和interfaces信息(华为设备) 381
9.5 实验2 调用nornir_netmiko来获取设备信息(思科设备) 383
9.6 实验2 调用nornir_netmiko获取设备信息(华为设备) 385
9.7 实验3 使用filter()配合F()做高级过滤(思科设备) 386
9.8 实验3 使用filter()配合F()做高级过滤(华为设备) 391
9.9 实验4 使用filter()做简单过滤(思科设备) 393
9.10 实验4 使用filter()做简单过滤(华为设备) 399
9.11 实验5 在filter()中使用lambda过滤单个或多个设备(思科设备) 400
9.12 实验5 在filter()中使用lambda过滤单个或多个设备(华为设备) 403
9.13 实验6 用Nornir为设备做配置(思科设备) 405
9.14 实验6 用Nornir为设备做配置(华为设备) 407
9.15 实验7 用Nornir保存、备份设备配置(思科设备) 408
9.16 实验7 用Nornir保存设备配置(华为设备) 411
9.17 实验8 用Nornir配合Jinja2为设备做配置(思科设备) 412
9.18 实验8 用Nornir配合Jinja2给设备做配置(华为设备) 420
9.19 实验9 Nornir 3 + Scrapli(思科设备) 423
9.20 实验9 Nornir 3 + Scrapli(华为设备) 432
9.21 实验10 Nornir 3 + TextFSM(思科设备) 434
9.22 实验10 Nornir 3 + TextFSM(华为设备) 437
9.23 实验11 Nornir 3 + ipdb(思科设备) 438
9.24 实验11 Nornir 3 + ipdb(华为设备) 444
9.25 实验12 Nornir的Inventory(思科设备) 447
9.26 实验12 Nornir的Inventory(华为设备) 451
9.27 实验13 Nornir的Task(思科设备) 455
9.28 实验13 Nornir的Task(华为设备) 461
9.29 实验14 使用Nornir按需批量修改交换机配置(思科设备) 463
9.30 实验14 使用Nornir按需批量修改交换机配置(华为设备) 467
第10章 NETCONF详解 474
10.1 NETCONF的理论部分 475
10.2 YANG的理论部分 476
10.2.1 什么是数据模型 476
10.2.2 YANG模型 477
10.2.3 YANG模块 478
10.2.4 从GitHub下载YANG模块 478
10.2.5 pyang模块 481
10.3 NETCONF的实验部分 482
10.3.1 实验拓扑和实验环境 482
10.3.2 实验步骤 483
10.4 ncclient 490
10.4.1 ncclient简介 491
10.4.2 ncclient实战应用(get_config) 492
10.4.3 ncclient实战应用(edit_config) 503
10.5 NETCONF实验(华为设备) 510
10.5.1 实验拓扑 510
10.5.2 实验目的 511
10.5.3 启动NETCONF 511
10.5.4 联动ncclient 515
第11章 RESTCONF详解 519
11.1 RESTCONF简介 519
11.1.1 HTTP方法和CRUD的对应关系 520
11.1.2 Postman 520
11.2 RESTCONF实验(Postman) 520
11.2.1 实验环境 520
11.2.2 交换机初始配置 521
11.2.3 Postman初始配置 522
11.2.4 通过GET方法获取交换机配置 525
11.2.5 通过PATCH方法更改交换机配置 529
11.2.6 通过PUT方法替换交换机配置 532
11.2.7 通过DELETE方法来删除设备配置 536
11.3 RESTCONF实验(Requests) 538
11.3.1 Requests模块简介 538
11.3.2 HTTP基础知识回顾 538
11.3.3 Requests实验环境 542
11.3.4 通过GET方法获取交换机配置 543
11.3.5 使用?depth=修改深度 547
11.3.6 通过PATCH方法更改交换机配置 549
11.3.7 通过PUT方法替换交换机配置 552
11.3.8 通过POST方法添加交换机配置 556
11.3.9 通过DELETE方法删除交换机配置 559
11.4 RESTCONF实验(华为设备) 561
11.4.1 实验拓扑 561
11.4.2 实验目的 561
11.4.3 启动RESTCONF 562
11.4.4 联动Postman 564

版权声明:
作者:admin
链接:https://manboo.net/125.html
来源:学习笔记
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
QQ群
< <上一篇
下一篇>>
文章目录
关闭
目 录