资源详情

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

精通Python网络编程(第三版)-电子书下载


作者: [美] 埃里克·周
出版社: 中国电力出版社
出版年: 2021-1
装帧: 平装
ISBN: 9787519849900

下载次数:22


本站推荐

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

Eric Chou is a seasoned technologist with over 18 years of experience. He has worked on and helped manage some of the largest networks in the industry while working at Amazon AWS, Microsoft Azure, and other companies. Eric is passionate about network automation, Python, and helping companies build better security postures. Eric is the author of 'Mastering Python Networking' (Packt Publishing, 1st ed. 2017, 2nd ed. 2018), co-author of 'Distributed Denial of Service (DDoS): Practical Detection and Defense' (O'Reilly Media, 2018), and holds two patents in IP Telephony. He shares his deep interest in technology through his books, classes, blog, and contribute to some of the popular Python open source projects.

Eric Chou is a seasoned technologist with over 18 years of experience. He has worked on and helped manage some of the largest networks in the industry while working at Amazon AWS, Microsoft Azure, and other companies. Eric is passionate about network automation, Python, and helping companies build better security postures. Eric is the author of 'Mastering Python Networking' (Packt Publishing, 1st ed. 2017, 2nd ed. 2018), co-author of 'Distributed Denial of Service (DDoS): Practical Detection and Defense' (O'Reilly Media, 2018), and holds two patents in IP Telephony. He shares his deep interest in technology through his books, classes, blog, and contribute to some of the popular Python open source projects.

序一
序二
前言
第1章TCP/IP协议簇和Python回顾1
1.1互联网概述2
1.1.1服务器、主机和网络组件3
1.1.2数据中心的兴起3
1.2OSI模型6
1.3客户-服务器模型8
1.4网络协议簇8
1.4.1传输控制协议9
1.4.2用户数据报协议10
1.4.3Internet协议11
1.5Python语言概述13
1.5.1Python版本14
1.5.2操作系统15
1.5.3运行Python程序15
1.5.4Python内置类型16
1.5.5Python操作符22
1.5.6Python控制流工具23
1.5.7Python函数25
1.5.8Python类26
1.5.9Python模块和包26
1.6小结28
第2章低层网络设备交互29
2.1CLI的挑战30
2.2构建虚拟实验室31
2.2.1物理设备31
2.2.2虚拟设备31
2.2.3Cisco

IRL32
2.2.4CiscoDevNe和dCloud36
2.2.5GNS337
2.3PythonPexpect库39
2.3.1Python虚拟环境39
2.3.2Pexpect安装40
2.3.3Pexpect概述41
2.3.4第一个Pexpect程序46
2.3.5更多Pexpect特性47
2.3.6Pexpect和SSH48
2.3.7Pexpect示例集成49
2.4PythonParamiko库51
2.4.1Paramiko安装51
2.4.2Paramiko概述52
2.4.3第一个Paramiko程序55
2.4.4更多Paramiko特性56
2.4.5Paramiko示例集成57
2.5Netmiko库59
2.6Nornir框架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.4YANG和NETCONF71
3.2CiscoAPI和ACI72
3.2.1CiscoNX-API72
3.2.2CiscoYANG模型78
3.2.3CiscoACI和APIC-EM80
3.3CiscoMeraki控制器82
3.4JuniperNetworks的PythonAPI84
3.4.1Juniper和NETCONF84
3.4.2面向开发人员的JuniperPyEZ89
3.5AristaPythonAPI93
3.5.1AristaeAPI管理94
3.5.2AristaPyeapi库98
3.6VyOS示例103
3.7其他库104
3.8小结105
第4章Python自动化框架:Ansible基础106
4.1Ansible:更具声明性的框架107
4.2一个简单的Ansible示例108
4.2.1控制节点安装109
4.2.2从源代码运行不同版本的Ansible110
4.2.3实验室设置111
4.2.4第一个Ansibleplaybook111
4.3Ansible的优点115
4.3.1无代理116
4.3.2幂等性116
4.3.3简单而且可扩展116
4.3.4网络供应商支持117
4.4Ansible架构118
4.4.1YAML119
4.4.2清单文件120
4.4.3变量121
4.4.4使用Jinja2模板126
4.5Ansible网络模块126
4.5.1本地连接和fact126
4.5.2provider参数127
4.6AnsibleCisco示例129
4.7Ansible2.8playbook示例132
4.8AnsibleJuniper示例136
4.9AnsibleArista示例137
4.10小结138
第5章Python自动化框架:进阶140
5.1实验室准备140
5.2Ansible条件141
5.2.1when子句141
5.2.2Ansible网络fact144
5.2.3网络模块条件147
5.3Ansible循环149
5.3.1标准循环149
5.3.2基于字典的循环151
5.4模板154
5.4.1Jinja2模板变量156
5.4.2Jinja2循环157
5.4.3Jinja2条件157
5.5组和主机变量160
5.5.1组变量161
5.5.2主机变量162
5.6AnsibleVault163
5.7Ansibleinclude和角色165
5.7.1Ansibleinclude语句165
5.7.2Ansible角色167
5.8编写你自己的自定义模块171
5.8.1第一个自定义模块171
5.8.2第二个自定义模块174
5.9小结175
第6章使用Python实现网络安全176
6.1实验室设置176
6.2PythonScapy180
6.2.1安装Scapy181
6.2.2交互式示例182
6.2.3使用Scapy捕获数据包185
6.2.4TCP端口扫描186
6.2.5ping收集191
6.2.6常见攻击192
6.2.7Scapy资源193
6.3访问列表193
6.3.1用Ansible实现访问列表194
6.3.2MAC访问列表197
6.4syslog搜索199
6.5其他工具202
6.5.1私有VLAN202
6.5.2用Python使用UFW203
6.6延伸阅读204
6.7小结204
第7章使用Python实现网络监控:第1部分206
7.1实验室设置207
7.2SNMP207
7.2.1设置208
7.2.2PySNMP210
7.3Python实现数据可视化216
7.3.1Matplotlib217
7.3.2Pygal223
7.4Python用于Cacti227
7.4.1安装228
7.4.2Python脚本作为输入源229
7.5小结232
第8章使用Python实现网络监控:第2部分233
8.1Graphviz234
8.1.1实验室设置234
8.1.2安装236
8.1.3Graphviz示例236
8.1.4PythonGraphviz示例237
8.1.5LLDP邻居绘图238
8.2基于流的监控248
8.3ntop流量监控254
8.3.1ntop的Python扩展256
8.3.2sFlow260
8.4小结265
第9章使用Python构建网络Web服务266
9.1比较PythonWeb框架267
9.2Flask和实验室设置269
9.3Flask介绍270
9.3.1HTTPie客户271
9.3.2URL路由273
9.3.3URL变量274
9.3.4URL生成275
9.3.5Jsonify返回277
9.4网络资源API278
9.4.1Flask-SQLAlchemy278
9.4.2网络内容API280
9.4.3设备API283
9.4.4设备IDAPI286
9.5网络动态操作286
9.6认证和授权292
9.7在容器中运行Flask295
9.8小结298
第10章AWS云网络300
10.1AWS设置301
10.2AWS网络概述305
10.3虚拟私有云311
10.3.1路由表和路由目标315
10.3.2用CloudFormation实现动画317
10.3.3安全组和网络ACL321
10.3.4弹性IP323
10.3.5NAT网关325
10.4DirectConnect和VPN326
10.4.1VPN网关326
10.4.2DirectConnect326
10.5网络伸缩服务328
10.5.1弹性负载均衡328
10.5.2Route53DNS服务329
10.5.3CloudFrontCDN服务329
10.6其他AWS网络服务330
10.7小结330
第11章Azure云网络332
11.1Azure和AWS网络服务比较333
11.2Azure设置334
11.3Azure管理和API336
11.3.1Azure服务原则339
11.3.2Python与PowerShell341
11.4Azure全球基础设施341
11.5Azure虚拟网络343
11.5.1互联网访问344
11.5.2网络资源创建348
11.5.3VNet服务端点349
11.5.4VNet对等连接350
11.6VNet路由353
11.7AzureVPN360
11.8AzureExpressRoute363
11.9Azure网络负载均衡器364
11.10其他Azure网络服务365
11.11小结366
第12章使用ElasticStack完成网络数据分析367
12.1ElasticStack是什么?367
12.2实验室拓扑369
12.3ElasticStack作为服务373
12.4第一个端到端示例375
12.5Elasticsearch与Python客户端交互379
12.6使用Logstash实现数据摄取381
12.7使用Beats实现数据摄取383
12.8使用Elasticsearch实现搜索389
12.9使用Kibana实现数据可视化394
12.10小结398
第13章使用Git399
13.1内容管理问题和Git399
13.2Git介绍400
13.2.1Git的好处401
13.2.2Git术语402
13.2.3Git和GitHub402
13.3设置Git403
13.4Git使用示例405
13.5Git分支410
13.6使用Python操作Git420
13.6.1GitPython420
13.6.2PyGitHub421
13.7自动化配置备份423
13.8使用Git协作425
13.9小结426
第14章使用Jenkins持续集成427
14.1传统变更管理过程427
14.2持续集成介绍429
14.3安装Jenkins429
14.4Jenkins示例432
14.4.1执行Python脚本的第一个作业432
14.4.2Jenkins插件437
14.4.3网络持续集成示例439
14.5使用Python操作Jenkins446
14.6网络的持续集成448
14.7小结448
第15章网络测试驱动开发449
15.1测试驱动开发概述449
15.2拓扑作为代码451
15.2.1Python的unittest模块456
15.2.2关于Python测试460
15.2.3pytest示例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测试Ansible468
15.4pytest与Jenkins集成469
15.5pyATS和Genie473
15.6小结477