当前位置:首页 > 工业技术
Python网络编程
Python网络编程

Python网络编程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)埃里克·周(EricChou)著;熊安萍,邹洋,张璞,李鸿健等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2019
  • ISBN:9787111630333
  • 页数:312 页
图书介绍:本书是一本实用型的基础技术实践工具书,技术性较强,可帮助读者快速了解计算机网络管理、网络安全、自动化运维、Python Web搭建及网络测试相关的知识。本书涵盖的知识点主要是网络运维相关技术,既是一本网络运维的入门知识指南,也适合想进一步提升运维技能的人员阅读。
《Python网络编程》目录

第1章 回顾TCP/IP协议簇和Python 1

1.1 互联网概述 2

1.1.1 服务器、主机和网络组件 2

1.1.2 数据中心的兴起 3

1.2 OSI模型 5

1.3 客户端-服务器模型 6

1.4 网络协议簇 7

1.4.1 传输控制协议 7

1.4.2 用户数据报协议 8

1.4.3 互联网协议 9

1.5 Python语言概述 10

1.5.1 Python版本 11

1.5.2 操作系统 12

1.5.3 运行一个Python程序 12

1.5.4 Python内置类型 13

1.5.5 Python操作符 17

1.5.6 Python控制流工具 18

1.5.7 Python函数 19

1.5.8 Python类 19

1.5.9 Python模块和包 20

1.6 小结 21

第2章 低级网络设备交互 22

2.1 CLI面临的挑战 23

2.2 搭建虚拟实验 24

2.2.1 Cisco VIRL 25

2.2.2 Cisco DevNet和Cisco dCloud 28

2.2.3 GNS3 29

2.3 Python Pexpect库 30

2.3.1 Pexpect安装 31

2.3.2 Pexpect概述 31

2.3.3 第一个Pexpect程序 35

2.3.4 Pexpect的更多功能 36

2.3.5 Pexpect和SSH 37

2.3.6 将Pexpect的所有内容都放到脚本中 37

2.4 Python Paramiko库 38

2.4.1 Paramiko安装 39

2.4.2 Paramiko概述 39

2.4.3 第一个Paramiko程序 42

2.4.4 Paramiko的更多功能 42

2.4.5 Paramiko可重用性 44

2.5 展望 45

2.6 小结 46

第3章 API和意图驱动网络 47

3.1 基础设施作为代码 48

3.1.1 意图驱动网络 48

3.1.2 屏幕抓取与API结构化输出 49

3.1.3 基础设施的数据建模作为代码 51

3.2 Cisco API和Cisco ACI 52

3.2.1 Cisco NX-API 53

3.2.2 Cisco和YANG模型 58

3.2.3 Cisco ACI 58

3.3 Juniper网络的Python API 60

3.3.1 Juniper和NETCONF 61

3.3.2 开发者的Juniper PyEZ 64

3.4 Arista Python API 68

3.4.1 Arista eAPI管理 68

3.4.2 Arista Pyeapi库 72

3.5 厂商中立的库 76

3.6 小结 76

第4章 Python自动化框架——Ansible基础知识 77

4.1 一个更具声明性的框架 78

4.2 Ansible示例 79

4.2.1 控制节点安装 79

4.2.2 运行不同版本的Ansible源代码 80

4.2.3 实验建立 81

4.2.4 第一个Ansible playbook示例 81

4.3 Ansible的优点 85

4.3.1 无代理 85

4.3.2 幂等性 85

4.3.3 简单且可扩展 86

4.3.4 网络供应商支持 86

4.4 Ansible架构 87

4.4.1 YAML 88

4.4.2 清单 89

4.4.3 变量 90

4.4.4 使用Jinja2的模板 93

4.5 Ansible网络模块 93

4.5.1 本地连接和facts 93

4.5.2 provider参数 94

4.6 Ansible Cisco示例 95

4.7 Ansible Juniper示例 99

4.8 Ansible Arista示例 101

4.9 小结 102

第5章 Python自动化框架——进阶知识 103

5.1 Ansible条件语句 104

5.1.1 when子句 104

5.1.2 Ansible网络facts 106

5.1.3 网络模块的条件化 108

5.2 Ansible循环 109

5.2.1 标准循环 109

5.2.2 循环字典 110

5.3 模板 112

5.3.1 Jinja2模板 113

5.3.2 Jinja2循环 114

5.3.3 Jinja2的条件化 114

5.4 组变量和主机变量 116

5.4.1 组变量 117

5.4.2 主机变量 118

5.5 Ansible Vault 119

5.6 Ansible的include和角色 120

5.6.1 Ansible的include语句 120

5.6.2 Ansible的角色 121

5.7 编写自定义Ansible模块 124

5.7.1 第一个自定义模块 125

5.7.2 第二个自定义模块 127

5.8 小结 128

第6章 Python下的网络安全 129

6.1 搭建实验环境 129

6.2 Python Scapy 132

6.2.1 安装Scapy 133

6.2.2 交互示例 133

6.2.3 嗅探 135

6.2.4 TCP端口扫描 136

6.2.5 ping集合 138

6.2.6 常见攻击 139

6.2.7 Scapy资源 140

6.3 访问列表 140

6.3.1 使用Ansible实现访问列表 141

6.3.2 MAC访问列表 143

6.4 Syslog搜索 144

6.5 其他工具 147

6.5.1 专用VLAN 147

6.5.2 使用Python的UFW 147

6.5.3 延伸阅读 148

6.6 小结 148

第7章 Python下的网络监控——第一部分 150

7.1 实验准备 151

7.2 SNMP 151

7.2.1 准备 152

7.2.2 PySNMP 154

7.3 用于数据可视化的Python 159

7.3.1 Matplotlib 159

7.3.2 Pygal 165

7.4 用于Cacti的Python 169

7.4.1 安装 169

7.4.2 作为输入源的Python脚本 170

7.5 小结 172

第8章 Python下的网络监控——第二部分 173

8.1 Graphviz 174

8.1.1 实验准备 174

8.1.2 安装 176

8.1.3 Graphviz示例 176

8.1.4 Python Graphviz示例 178

8.1.5 LLDP邻居绘图 178

8.2 基于流程的监控 185

8.2.1 Python下的NetFlow解析 185

8.2.2 ntop流量监视 189

8.2.3 sFlow 194

8.3 Elasticsearch(ELK堆栈) 198

8.3.1 设置托管ELK服务 198

8.3.2 Logstash格式 199

8.3.3 Logstash格式的Python助手脚本 200

8.4 小结 202

第9章 使用Python构建网络Web服务 203

9.1 Python Web相关框架比较 204

9.2 Flask和实验设置 206

9.3 Flask的相关介绍 207

9.3.1 HTTPie客户端 208

9.3.2 URL路由 209

9.3.3 URL变量 210

9.3.4 URL的生成 211

9.3.5 jsonify返回值 211

9.4 网络资源API 212

9.4.1 Flask-SQLAlchemy 212

9.4.2 网络内容API 214

9.4.3 API设备 216

9.4.4 API的设备ID 218

9.5 网络动态操作 218

9.6 安全 223

9.7 其他资源 225

9.8 小结 226

第10章 AWS云网络 227

10.1 AWS准备工作 228

10.2 AWS网络概述 231

10.3 虚拟私有云 234

10.3.1 路由表和路由目标 238

10.3.2 使用CloudFormation实现自动化 239

10.3.3 安全组和网络ACL 242

10.3.4 弹性IP 244

10.3.5 NAT网关 244

10.4 直连和VPN 246

10.4.1 VPN网关 246

10.4.2 直连 247

10.5 网络扩展服务 247

10.5.1 弹性负载平衡 248

10.5.2 Route53 DNS服务 248

10.5.3 CloudFront CDN服务 249

10.6 其他AWS网络服务 249

10.7 小结 249

第11章 Git的使用 251

11.1 Git简介 252

11.1.1 Git的好处 252

11.1.2 Git术语 253

11.1.3 Git和GitHub 254

11.2 设置Git 254

11.3 Git用法示例 255

11.4 在Python中使用Git 267

11.4.1 GitPython 267

11.4.2 PyGitHub 268

11.5 自动配置备份 269

11.6 与Git协作 271

11.7 小结 272

第12章 使用Jenkins持续集成 273

12.1 传统的变更管理流程 273

12.2 持续集成简介 274

12.3 安装Jenkins 275

12.4 Jenkins示例 277

12.4.1 Python脚本的第一个作业 278

12.4.2 Jenkins插件 282

12.4.3 网络持续集成示例 284

12.5 使用Python-Jenkins 290

12.6 网络的持续集成 292

12.7 小结 292

第13章 网络的测试驱动开发 293

13.1 测试驱动开发概述 294

13.2 拓扑作为代码 295

13.3 更多关于Python测试的信息 301

13.4 编写网络测试 304

13.4.1 测试可达性 304

13.4.2 测试网络延迟 305

13.4.3 测试安全性 306

13.4.4 测试事务 306

13.4.5 测试网络配置 307

13.4.6 测试Ansible 307

13.5 在Jenkins中使用pytest 307

13.6 小结 311

相关图书
作者其它书籍
返回顶部