Python网络编程攻略

Python网络编程攻略

出版信息

萨卡尔 (Dr.M.O.Faruque Sarker) / 安道 / 人民邮电出版社 / 2014-12-1 / 45.00元

内容简介

开发TCP/IP网络客户端和服务器应用

管理本地设备的IPv4/IPv6网络接口

使用HTTP和HTTPS协议编写用途多、效率高的Web客户端

编写可使用常见电子邮件协议的电子邮件客户端

通过Telnet和SSH连接执行远程系统管理任务

使用Web服务与流行的网站交互

监控并分析重要的常见网络安全漏洞

作者简介

作者简介:

M. O. Faruque Sarker博士

软件架构师,开发运维工程师,最近几年主持开发了很多Python软件项目。他是多种开源技术方面的专家,对于在线学习平台、Web应用平台、敏捷软件开发等技术有深入的研究。从1999年开始,他一直在部署Linux和开源软件。他应邀参与了2009年和2010年的谷歌编程之夏,为开源项目BlueZ和Tahoe-LAFS做出了贡献。目前他在英国伦敦大学学院工作,研究方向是自组织云架构。

译者简介:

安道

人子人夫人父,机械工程师,翻译爱好者,偶尔写代码。

目录

第1章 套接字、IPv4和简单的客户端/服务器编程  1
1.1 简介  1
1.2 打印设备名和IPv4地址  2
1.2.1 准备工作  2
1.2.2 实战演练  2
1.2.3 原理分析  3
1.3 获取远程设备的IP地址  4
1.3.1 实战演练  4
1.3.2 原理分析  4
1.4 将IPv4地址转换成不同的格式  5
1.4.1 实战演练  5
1.4.2 原理分析  6
1.5 通过指定的端口和协议找到服务名  6
1.5.1 准备工作  6
1.5.2 实战演练  6
1.5.3 原理分析  7
1.6 主机字节序和网络字节序之间相互转换  7
1.6.1 实战演练  7
1.6.2 原理分析  8
1.7 设定并获取默认的套接字超时时间  8
1.7.1 实战演练  8
1.7.2 原理分析  9
1.8 优雅地处理套接字错误  9
1.8.1 实战演练  9
1.8.2 原理分析  10
1.9 修改套接字发送和接收的缓冲区大小  12
1.9.1 实战演练  12
1.9.2 原理分析  13
1.10 把套接字改成阻塞或非阻塞模式  13
1.10.1 实战演练  13
1.10.2 原理分析  14
1.11 重用套接字地址  14
1.11.1 实战演练  14
1.11.2 原理分析  16
1.12 从网络时间服务器获取并打印当前时间  16
1.12.1 准备工作  16
1.12.2 实战演练  16
1.12.3 原理分析  17
1.13 编写一个SNTP客户端  17
1.13.1 实战演练  17
1.13.2 原理分析  18
1.14 编写一个简单的回显客户端/服务器应用  18
1.14.1 实战演练  18
1.14.2 原理分析  21
第2章 使用多路复用套接字I/O提升性能  22
2.1 简介  22
2.2 在套接字服务器程序中使用ForkingMixIn  23
2.2.1 实战演练  23
2.2.2 原理分析  25
2.3 在套接字服务器程序中使用ThreadingMixIn  25
2.3.1 准备工作  26
2.3.2 实战演练  26
2.3.3 原理分析  27
2.4 使用select.select编写一个聊天室服务器  28
2.4.1 实战演练  28
2.4.2 原理分析  34
2.5 使用select.epoll多路复用Web服务器  34
2.5.1 实战演练  34
2.5.2 原理分析  37
2.6 使用并发库Diesel多路复用回显服务器  37
2.6.1 准备工作  37
2.6.2 实战演练  37
2.6.3 原理分析  39
第3章 IPv6、Unix域套接字和网络接口  40
3.1 简介  40
3.2 把本地端口转发到远程主机  41
3.2.1 实战演练  41
3.2.2 原理分析  43
3.3 通过ICMP查验网络中的主机  44
3.3.1 准备工作  44
3.3.2 实战演练  44
3.3.3 原理分析  48
3.4 等待远程网络服务上线  48
3.4.1 实战演练  48
3.4.2 原理分析  50
3.5 枚举设备中的接口  51
3.5.1 准备工作  51
3.5.2 实战演练  51
3.5.3 原理分析  52
3.6 找出设备中某个接口的IP地址  52
3.6.1 准备工作  52
3.6.2 实战演练  53
3.6.3 原理分析  53
3.7 探测设备中的接口是否开启  53
3.7.1 准备工作  54
3.7.2 实战演练  54
3.7.3 原理分析  55
3.8 检测网络中未开启的设备  55
3.8.1 准备工作  55
3.8.2 实战演练  55
3.8.3 原理分析  56
3.9 使用相连的套接字执行基本的进程间通信  57
3.9.1 准备工作  57
3.9.2 实战演练  57
3.9.3 原理分析  58
3.10 使用Unix域套接字执行进程间通信  58
3.10.1 实战演练  58
3.10.2 原理分析  60
3.11 确认你使用的Python是否支持IPv6套接字  61
3.11.1 准备工作  61
3.11.2 实战演练  61
3.11.3 原理分析  63
3.12 从IPv6地址中提取IPv6前缀  63
3.12.1 实战演练  63
3.12.2 原理分析  64
3.13 编写一个IPv6回显客户端/服务器  64
3.13.1 实战演练  64
3.13.2 原理分析  67
第4章 HTTP协议网络编程  68
4.1 简介  68
4.2 从HTTP服务器下载数据  68
4.2.1 实战演练  69
4.2.2 原理分析  70
4.3 在你的设备中伺服HTTP请求  70
4.3.1 实战演练  70
4.3.2 原理分析  72
4.4 访问网站后提取cookie信息  72
4.4.1 实战演练  73
4.4.2 原理分析  75
4.5 提交网页表单  75
4.5.1 准备工作  75
4.5.2 实战演练  75
4.5.3 原理分析  77
4.6 通过代理服务器发送Web请求  77
4.6.1 准备工作  77
4.6.2 实战演练  77
4.6.3 原理分析  78
4.7 使用HEAD请求检查网页是否存在  78
4.7.1 实战演练  78
4.7.2 原理分析  79
4.8 把客户端伪装成Mozilla Firefox  79
4.8.1 实战演练  79
4.8.2 原理分析  80
4.9 使用HTTP压缩节省Web请求消耗的带宽  80
4.9.1 实战演练  81
4.9.2 原理分析  82
4.10 编写一个支持断点续传功能的HTTP容错客户端  82
4.10.1 实战演练  83
4.10.2 原理分析  84
4.11 使用Python和OpenSSL编写一个简单的HTTPS服务器  84
4.11.1 准备工作  84
4.11.2 实战演练  84
4.11.3 原理分析  86
第5章 电子邮件协议、FTP和CGI编程  87
5.1 简介  87
5.2 列出FTP远程服务器中的文件  87
5.2.1 准备工作  87
5.2.2 实战演练  88
5.2.3 原理分析  89
5.3 把本地文件上传到远程FTP服务器中  89
5.3.1 准备工作  89
5.3.2 实战演练  89
5.3.3 原理分析  90
5.4 把当前工作目录中的内容压缩成ZIP文件后通过电子邮件发送  91
5.4.1 准备工作  91
5.4.2 实战演练  91
5.4.3 原理分析  93
5.4.4 参考资源  94
5.5 通过POP3协议下载谷歌电子邮件  94
5.5.1 准备工作  94
5.5.2 实战演练  94
5.5.3 原理分析  95
5.6 通过IMAP协议查收远程服务器中的电子邮件  95
5.6.1 准备工作  95
5.6.2 实战演练  96
5.6.3 原理分析  97
5.7 通过Gmail的SMTP服务器发送带有附件的电子邮件  97
5.7.1 准备工作  97
5.7.2 实战演练  97
5.7.3 原理分析  99
5.8 使用CGI为基于Python的Web服务器编写一个留言板  99
5.8.1 实战演练  99
5.8.2 原理分析  101
第6章 屏幕抓取和其他实用程序  103
6.1 简介  103
6.2 使用谷歌地图API搜索公司地址  103
6.2.1 准备工作  103
6.2.2 实战演练  104
6.2.3 原理分析  104
6.2.4 参考资源  104
6.3 使用谷歌地图URL搜索地理坐标  105
6.3.1 实战演练  105
6.3.2 原理分析  106
6.4 搜索维基百科中的文章  106
6.4.1 准备工作  107
6.4.2 实战演练  107
6.4.3 原理分析  109
6.5 使用谷歌搜索股价  110
6.5.1 准备工作  110
6.5.2 实战演练  110
6.5.3 原理分析  111
6.6 搜索GitHub中的源代码仓库  111
6.6.1 准备工作  112
6.6.2 实战演练  112
6.6.3 原理分析  113
6.7 读取BBC的新闻订阅源  114
6.7.1 准备工作  114
6.7.2 实战演练  114
6.7.3 原理分析  115
6.8 爬取网页中的链接  116
6.8.1 实战演练  116
6.8.2 原理分析  118
第7章 跨设备编程  119
7.1 简介  119
7.2 使用telnet在远程主机中执行shell命令  119
7.2.1 准备工作  119
7.2.2 实战演练  120
7.2.3 原理分析  121
7.3 通过SFTP把文件复制到远程设备中  121
7.3.1 准备工作  122
7.3.2 实战演练  122
7.3.3 原理分析  123
7.4 打印远程设备的CPU信息  123
7.4.1 准备工作  123
7.4.2 实战演练  124
7.4.3 原理分析  125
7.5 在远程主机中安装Python包  126
7.5.1 准备工作  126
7.5.2 实战演练  126
7.5.3 原理分析  127
7.6 在远程主机中运行MySQL命令  128
7.6.1 准备工作  128
7.6.2 实战演练  128
7.6.3 原理分析  131
7.7 通过SSH把文件传输到远程设备中  131
7.7.1 准备工作  131
7.7.2 实战演练  131
7.7.3 原理分析  134
7.8 远程配置Apache运行网站  134
7.8.1 准备工作  134
7.8.2 实战演练  134
7.8.3 原理分析  136
第8章 使用Web服务:XML-RPC、SOAP和REST  138
8.1 简介  138
8.2 查询本地XML-RPC服务器  139
8.2.1 准备工作  139
8.2.2 实战演练  139
8.2.3 原理分析  141
8.3 编写一个多线程、多调用XML-RPC服务器  141
8.3.1 实战演练  141
8.3.2 原理分析  143
8.4 运行一个支持HTTP基本认证的XML-RPC服务器  143
8.4.1 实战演练  143
8.4.2 原理分析  146
8.5 使用REST从Flickr中收集一些照片信息  146
8.5.1 实战演练  146
8.5.2 原理分析  149
8.6 找出亚马逊S3 Web服务支持的SOAP方法  150
8.6.1 准备工作  150
8.6.2 实战演练  150
8.6.3 原理分析  151
8.7 使用谷歌搜索定制信息  151
8.7.1 准备工作  151
8.7.2 实战演练  151
8.7.3 原理分析  152
8.8 通过商品搜索API在亚马逊中搜索图书  153
8.8.1 准备工作  153
8.8.2 实战演练  153
8.8.3 原理分析  155
第9章 网络监控和安全性  156
9.1 简介  156
9.2 嗅探网络数据包  156
9.2.1 准备工作  156
9.2.2 实战演练  157
9.2.3 原理分析  158
9.3 使用pcap转储器把数据包保存为pcap格式  159
9.3.1 实战演练  159
9.3.2 原理分析  161
9.4 在HTTP数据包中添加额外的首部  162
9.4.1 实战演练  162
9.4.2 原理分析  163
9.5 扫描远程主机的端口  163
9.5.1 实战演练  164
9.5.2 原理分析  165
9.6 自定义数据包的IP地址  165
9.6.1 实战演练  165
9.6.2 原理分析  167
9.7 读取保存的pcap文件以重放流量  167
9.7.1 实战演练  167
9.7.2 原理分析  169
9.8 扫描数据包的广播  169
9.8.1 实战演练  169
9.8.2 原理分析  170

本文地址:https://www.codercto.com/books/d/1669.html

Markdown 在线编辑器

Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换

UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换

RGB HSV 转换

RGB HSV 互转工具