一、出版与作者信息
- 书名:Python Network Programming Cookbook
- 作者:[英] Dr. M. O. Faruque Sarker
- 译者:安道
- 出版社:Packt Publishing(英文原版)/人民邮电出版社(中文简体版,图灵程序设计丛书)
- 出版时间:2014 年 12 月第 1 版
- ISBN:978-7-115-37269-7
- 定价:45.00 元
作者现任英国伦敦大学学院研究员,长期从事自组织云架构、开源软硬件与 DevOps 实践,曾参与 Google Summer of Code,对 BlueZ、Tahoe-LAFS 等项目有贡献。译者安道为机械工程师兼技术书籍译者,具备多年 Python 与工程交叉经验。
二、内容定位与特色
本书定位为**“网络编程实践速查手册”**,用 70 余个“攻略(Recipe)”形式,覆盖从套接字到云端服务、从运维自动化到安全监控的完整链路。
特点:
- 任务导向:每篇攻略聚焦一个真实场景,先给出“实战演练”代码,再解析原理与可扩展点。
- 技术全面:同一问题对比多种实现(标准库、第三方库、系统命令),并指出平台差异。
- DevOps 视角:强调“开发者即运维者”,大量示例可直接用于持续集成、批量部署、监控告警。
- 代码即文档:所有示例托管在 Packt 官网,可下载完整源码与勘误,方便读者二次开发。
三、章节与知识地图
(以下标题保持原书英文,方便检索)
第 1 章 套接字、IPv4 和简单的客户端/服务器编程
- 打印设备名/IPv4 地址
- 域名解析、字节序转换、超时与缓冲区调优
- 异常处理、非阻塞/阻塞模式、地址重用
- 编写 SNTP 客户端、回显服务器
第 2 章 使用多路复用套接字 I/O 提升性能
- ForkingMixIn / ThreadingMixIn 并发模型
- select、epoll 实现高并发聊天室与 Web Server
- Diesel 协程库示例
第 3 章 IPv6、Unix 域套接字和网络接口
- IPv6 地址前缀提取、回显服务器
- 本地端口转发、ICMP Ping、等待服务上线
- 枚举网络接口、探测接口状态、检测离线主机
- Unix 域套接字进程间通信
第 4 章 HTTP 协议网络编程
- 手写 HTTP 客户端下载网页
- 定制 BaseHTTPServer、处理 Cookie、表单提交、代理、压缩、断点续传
- 自签名 HTTPS 服务器(pyOpenSSL)
第 5 章 电子邮件协议、FTP 和 CGI 编程
- ftplib 匿名浏览/上传文件
- ZIP 打包后通过 SMTP 发送邮件(含附件)
- POP3 / IMAP 收取 Gmail、GMail SMTP 发信
- 基于 CGI 的留言板实现
第 6 章 屏幕抓取和其他实用程序
- Google Map/WikiPedia/Finance/BBC News 公开 API 或 RSS 抓取
- GitHub 仓库搜索、股价查询、链接爬虫
第 7 章 跨设备编程
- telnetlib 执行远程命令
- paramiko SFTP/SSH 文件传输、远程执行 top / cat /proc/cpuinfo
- Fabric 自动化:安装 Python 包、MySQL 建库、Apache 虚拟主机配置
第 8 章 使用 Web 服务:XML-RPC、SOAP 和 REST
- 多线程 XML-RPC 服务器、HTTP 基本认证
- REST 调用 Flickr API 获取照片与评论
- SOAP 探测 Amazon S3 支持的方法
- Google Ajax Search、Amazon Product Advertising API 图书检索
第 9 章 网络监控和安全性
- pcap/Scapy 嗅探、保存与回放流量
- 自定义 TCP/UDP 包注入、端口扫描
- 广播扫描、异常流量检测
四、适用读者
- 有 Python 基础,想快速将网络协议用于生产环境的Web 开发者
- 需要编写自动化脚本、批量部署与运维的系统/网络管理员
- 学习网络安全、渗透测试或协议分析的安全爱好者与高校学生
- 计划集成第三方 Web 服务(REST/SOAP/API)的后端架构师
五、阅读建议
- 顺序通读:先完成第 1–3 章,夯实套接字与协议基础
- 场景跳读:遇到具体任务(如“上传文件到 FTP”“远程执行命令”)可直接定位对应攻略
- 扩展改造:每章代码预留参数接口,读者可对接自己的日志、监控或 Web 框架
- 结合新版:书中示例基于 Python 2.7,读者可参考官方文档将语法迁移至 Python 3.x,并利用 asyncio、http.client 等新模块进一步提升性能
六、一句话总结
《Python网络编程攻略》以“拿来即用”的示例贯穿网络协议全栈,帮助你在最短时间内把 Python 变成强大的网络工具、自动化引擎与安全侦察兵。