Python网络编程pdf电子目录

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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值