𝔖 Scriptorium
✦   LIBER   ✦

📁

Windows网络与通信程序设计 第3版

✍ Scribed by 陈香凝


Publisher
人民邮电出版社
Year
2017
Tongue
Chinese
Leaves
479
Edition
3
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


本书首先介绍了Windows平台上进行网络编程的基础知识,包括网络硬件,术语,协议,Winsock编程接口和各种I/O方法等;然后通过具体实例详细讲述了时下流行的高性能可伸缩服务器设计,IP多播和Internet广播,P2P程序设计,原始套节字,SPI,协议驱动的开发和原始以太数据的发送,ARP欺骗技术,LAN和WAN上的扫描和侦测技术,商业级个人防火墙开发等;接下来讲述了新一代网际协议IPv6和Winsock提供的帮助函数;本书结尾部分,对E-mail,Telnet,FTP等协议进行了介绍,给出了一个使用E-mail协议进行多平台同步阅读的实例.

✦ Table of Contents


封面
书名
版权
前言
目录
第1章 计算机网络基础
1.1 网络的概念和网络的组成
1.2 计算机网络参考模型
1.2.1 协议层次
1.2.2 TCP/IP参考模型
1.2.3 应用层(Application Layer)
1.2.4 传输层(Transport Layer)
1.2.5 网络层(Network Layer)
1.2.6 链路层(Link Layer)
1.2.7 物理层(Physical Layer)
1.3 网络程序寻址方式
1.3.1 MAC地址
1.3.2 IP地址
1.3.3 子网寻址
1.3.4 端口号
1.3.5 网络地址转换(NAT)
1.4 网络应用程序设计基础
1.4.1 网络程序体系结构
1.4.2 网络程序通信实体
1.4.3 网络程序开发环境
第2章 Winsock编程接口
2.1 Winsock库
2.1.1 Winsock库的装入和释放
2.1.2 封装CInitSock类
2.2 Winsock的寻址方式和字节顺序
2.2.1 Winsock寻址
2.2.2 字节顺序
2.2.3 获取地址信息
2.3 Winsock编程详解
2.3.1 Winsock编程流程
2.3.2 典型过程图
2.3.3 TCP服务器和客户端程序举例
2.3.4 UDP编程
2.4 网络对时程序实例
2.4.1 时间协议(Time Protocol)
2.4.2 TCP/IP实现代码
第3章 Windows套接字I/O模型
3.1 套接字模式
3.1.1 阻塞模式
3.1.2 非阻塞模式
3.2 选择(select)模型
3.2.1 select函数
3.2.2 应用举例
3.3 WSAAsyncSelect模型
3.3.1 消息通知和WSAAsync Select函数
3.3.2 应用举例
3.4 WSAEventSelect模型
3.4.1 WSAEventSelect函数
3.4.2 应用举例
3.4.3 基于WSAEventSelect模型的服务器设计
3.5 重叠(Overlapped)I/O模型
3.5.1 重叠I/O函数
3.5.2 事件通知方式
3.5.3 基于重叠I/O模型的服务器设计
第4章 IOCP与可伸缩网络程序
4.1 完成端口I/O模型
4.1.1 什么是完成端口(completion port)对象
4.1.2 使用IOCP的方法
4.1.3 示例程序
4.1.4 恰当地关闭IOCP
4.2 扩展函数
4.2.1 GetAcceptExSockaddrs函数
4.2.2 TransmitFile函数
4.2.3 TransmitPackets函数
4.2.4 ConnectEx函数
4.2.5 DisconnectEx函数
4.3 可伸缩服务器设计注意事项
4.3.1 内存资源管理
4.3.2 接受连接的方法
4.3.3 恶意客户连接问题
4.3.4 包重新排序问题
4.4 可伸缩服务器系统设计实例
4.4.1 CIOCPServer类的总体结构
4.4.2 数据结构定义和内存池方案
4.4.3 自定义帮助函数
4.4.4 开启服务和停止服务
4.4.5 I/O处理线程
4.4.6 用户接口和测试程序
第5章 互联网广播和IP多播
5.1 套接字选项和I/O控制命令
5.1.1 套接字选项
5.1.2 I/O控制命令
5.2 广播通信
5.3 IP多播(Multicasting)
5.3.1 多播地址
5.3.2 组管理协议(IGMP)
5.3.3 使用IP多播
5.4 基于IP多播的组讨论会实例
5.4.1 定义组讨论会协议
5.4.2 线程通信机制
5.4.3 封装CGroupTalk类
5.4.4 程序界面
第6章 原始套接字
6.1 使用原始套接字
6.2 ICMP编程
6.2.1 ICMP与校验和的计算
6.2.2 Ping程序实例
6.2.3 路由跟踪
6.3 使用IP头包含选项
6.3.1 IP数据报格式
6.3.2 UDP数据报格式
6.3.3 原始UDP封包发送实例
6.4 网络嗅探器开发实例
6.4.1 嗅探器设计原理
6.4.2 网络嗅探器的具体实现
6.4.3 侦听局域网内的密码
6.5 TCP通信开发实例
6.5.1 创建一个原始套接字并设置IP头选项
6.5.2 构造IP头和TCP头
6.5.3 发送原始套接字数据报
6.5.4 接收数据
第7章 Winsock服务提供者接口(SPI)
7.1 SPI概述
7.2 Winsock协议目录
7.2.1 协议特性
7.2.2 使用Winsock API函数枚举协议
7.2.3 使用Winsock SPI函数枚举协议
7.3 分层服务提供者(LSP)
7.3.1 运行原理
7.3.2 安装LSP
7.3.3 移除LSP
7.3.4 编写LSP
7.3.5 LSP实例
7.4 基于SPI的数据报过滤实例
7.5 基于Winsock的网络聊天室开发
7.5.1 服务端
7.5.2 客户端
7.5.3 聊天室程序的设计说明
7.5.4 核心代码分析
第8章 Windows网络驱动接口标准(NDIS)和协议驱动的开发
8.1 核心层网络驱动
8.1.1 Windows 2000及其后产品的网络体系结构
8.1.2 NDIS网络驱动程序
8.1.3 网络驱动开发环境
8.2 WDM驱动开发基础
8.2.1 UNICODE字符串
8.2.2 设备对象
8.2.3 驱动程序的基本结构
8.2.4 I/O请求包(I/O request packet,IRP)和I/O堆栈
8.2.5 完整驱动程序示例
8.2.6 扩展派遣接口
8.2.7 应用举例(进程诊测实例)
8.3 开发NDIS网络驱动预备知识
8.3.1 中断请求级别(Interrupt Request Level,IRQL)
8.3.2 旋转锁(Spin Lock)
8.3.3 双链表
8.3.4 封包结构
8.4 NDIS协议驱动
8.4.1 注册协议驱动
8.4.2 打开下层协议驱动的适配器
8.4.3 协议驱动的封包管理
8.4.4 在协议驱动中接收数据
8.4.5 从协议驱动发送封包
8.5 NDIS协议驱动开发实例
8.5.1 总体设计
8.5.2 NDIS协议驱动的初始化、注册和卸载
8.5.3 下层NIC的绑定和解除绑定
8.5.4 发送数据
8.5.5 接收数据
8.5.6 用户IOCTL处理
第9章 网络扫描与检测技术
9.1 网络扫描基础知识
9.1.1 以太网数据帧
9.1.2 ARP
9.1.3 ARP格式
9.1.4 SendARP函数
9.2 原始以太封包的发送
9.2.1 安装协议驱动
9.2.2 协议驱动用户接口
9.2.3 发送以太封包的测试程序
9.3 局域网计算机扫描
9.3.1 管理原始ARP封包
9.3.2 ARP扫描示例
9.4 互联网计算机扫描
9.4.1 端口扫描原理
9.4.2 半开端口扫描实现
9.5 ARP欺骗原理与实现
9.5.1 IP欺骗的用途和实现原理
9.5.2 IP地址冲突
9.5.3 ARP欺骗示例
第10章 点对点(P2P)网络通信技术
10.1 NAT穿越概述
10.2 一般概念
10.2.1 NAT术语
10.2.2 中转
10.2.3 反向连接
10.3 UDP打洞
10.3.1 中心服务器
10.3.2 建立点对点会话
10.3.3 公共NAT后面的节点
10.3.4 不同NAT后面的节点
10.3.5 多级NAT后面的节点
10.3.6 UDP空闲超时
10.4 TCP打洞
10.4.1 套接字和TCP端口重用
10.4.2 打开点对点的TCP流
10.4.3 应用程序看到的行为
10.4.4 同步TCP打开
10.5 Internet点对点通信实例
10.5.1 总体设计
10.5.2 定义P2P通信协议
10.5.3 客户方程序
10.5.4 服务器方程序
10.5.5 测试程序
第11章 核心层网络封包截获技术
11.1 Windows网络数据和封包过滤概述
11.1.1 Windows网络系统体系结构图
11.1.2 用户模式下的网络数据过滤
11.1.3 内核模式下的网络数据过滤
11.2 中间层网络驱动PassThru
11.2.1 PassThruNDIS中间层驱动简介
11.2.2 编译和安装PassThru驱动
11.3 扩展PassThru NDIS IM驱动——添加IOCTL接口
11.3.1 扩展之后的PassThru驱动(PassThruEx)概况
11.3.2 添加基本的DeviceIoControl接口
11.3.3 添加绑定枚举功能
11.3.4 添加ADAPT结构的引用计数
11.3.5 适配器句柄的打开/关闭函数
11.3.6 句柄事件通知
11.3.7 查询和设置适配器的OID信息
11.4 扩展PassThru NDIS IM驱动——添加过滤规则
11.4.1 需要考虑的事项
11.4.2 过滤相关的数据结构
11.4.3 过滤列表
11.4.4 网络活动状态
11.4.5 IOCTL控制代码
11.4.6 过滤数据
11.5 核心层过滤实例
第12章 Windows网络防火墙开发技术
12.1 防火墙技术概述
12.2 金羽(Phoenix)个人防火墙浅析
12.2.1 金羽(Phoenix)个人防火墙简介
12.2.2 金羽(Phoenix)个人防火墙总体设计
12.2.3 金羽(Phoenix)个人防火墙总体结构
12.3 开发前的准备
12.3.1 常量的定义
12.3.2 访问规则
12.3.3 会话结构
12.3.4 文件结构
12.3.5 UNICODE支持
12.4 应用层DLL模块
12.4.1 DLL工程框架
12.4.2 共享数据和IO控制
12.4.3 访问控制列表ACL(Access List)
12.4.4 查找应用程序访问权限的过程
12.4.5 类的接口——检查函数
12.5 核心层SYS模块
12.6 主模块工程
12.6.1 I/O控制类
12.6.2 主应用程序类
12.6.3 主对话框中的属性页
12.6.4 主窗口类
12.7 防火墙页面
12.7.1 网络访问监视页面
12.7.2 应用层过滤规则页面
12.7.3 核心层过滤规则页面
12.7.4 系统设置页面
第13章 IP帮助函数
13.1 IP配置信息
13.1.1 获取网络配置信息
13.1.2 管理网络接口
13.1.3 管理IP地址
13.2 获取网络状态信息
13.2.1 获取TCP连接表
13.2.2 获取UDP监听表
13.2.3 获取IP统计数据
13.3 路由管理
13.3.1 获取路由表
13.3.2 管理特定路由
13.3.3 修改默认网关的例子
13.4 ARP表管理
13.4.1 获取ARP表
13.4.2 添加ARP入口
13.4.3 删除ARP入口
13.4.4 打印ARP表的例子
13.5 进程网络活动监视实例
13.5.1 获取通信的进程终端
13.5.2 Netstate源程序代码
第14章 E-mail协议及其编程
14.1 概述
14.2 电子邮件介绍
14.2.1 电子邮件Internet的地址
14.2.2 Internet邮件系统
14.2.3 电子邮件的信头结构及分析
14.3 SMTP协议原理介绍
14.3.1 SMTP的原理分析
14.3.2 SMTP工作机制
14.3.3 SMTP协议命令码和工作原理
14.3.4 SMTP协议通信模型
14.3.5 SMTP协议的命令和应答
14.4 POP3协议原理介绍
14.4.1 POP3协议简介
14.4.2 POP3工作原理
14.4.3 POP3命令原始码
14.4.4 POP3会话实例
14.5 实例分析与程序设计
14.5.1 总界面设计
14.5.2 SMTP客户端设计
14.5.3 POP3客户端设计
第15章 Telnet协议及其编程
15.1 概述
15.2 Telnet协议使用
15.3 Telnet协议原理
15.4 实例分析与程序设计
第16章 FTP协议及其编程
16.1 概述
16.1.1 背景
16.1.2 下载和上传
16.1.3 登录和匿名
16.1.4 目标
16.1.5 缺点
16.2 FTP工作原理
16.3 FTP使用模式
16.4 FTP的常用命令与响应
16.5 实例分析与程序设计
第17章 多平台同步随身阅读——Send To Kindle的一种实现方式
17.1 Amazon Kindle简介
17.2 多平台同步阅读概述
17.3 Send To Kindle PC版简介
17.4 推送到Kindle的工作原理
17.5 Kindle对邮箱附件的要求
17.6 使用附件方式发送待阅读文章到Kindle
17.7 系统右键菜单集成


📜 SIMILAR VOLUMES


Windows 程序设计(第3版)
✍ 张铮 📂 Library 📅 2015 🏛 人民邮电出版社 🌐 Chinese

本书试图为Windows程序设计初学者提供一条由入门到深入,由简单到复杂的编程设计之路,最终使他们有能力独立开发出像Windows防火墙一样复杂的应用程序.为此,本书首先介绍了Win32程序运行原理和最基本的Win32 API编程;然后通过模拟MFC中关键类,全局函数和宏定义的实现详细讲述了框架程序的设计方法和MFC的内部工作机制,并指出了这些机制是如何对用戶程序造成影响的;继而完整讲述了开发内核驱动和Windows防火墙的过程;最后对计算机3D图形和音频控制技术进行了介绍.此外,书中各章均配以丰富的实例,它们从最简单的"Hello World!"开始,到多线程,用戶界面,注册表和网络通信,3

Java程序设计之网络编程(第3版)
✍ 杨瑞龙、李芝兴主编 📂 Library 📅 2018 🏛 清华大学出版社 🌐 Chinese

本书是《Java程序设计之网络编程(第2版)》的升级版,主要对Java SE 8.0的部分特性做了补充。本书重点在于Java面向对象基础编程和网络编程,前者包含数据类型、程序流程控制、面向对象概念、类、继承、接口、字符串、异常、基础类库、线程、输入/输出技术、图形界面编程、JDBC数据库技术等内容; 后者包含网络通信技术、Servlet和JSP技术,以及Java EE流行框架等技术。 本书配套资源丰富,提供所有例题源代码、习题答案、多媒体课件,以及教学大纲、教学日程、实验项目、课程设计、案例库、在线考试等。 本书可作为高等院校、应用型本科(含部分高职高专)计算机相关专业的程序设计教材,也可作为

Windows 程序设计:第5版
✍ Charles Petzold 📂 Library 📅 2003 🏛 北京大学出版社 🌐 Chinese

<p>Windows程序设计(第5版)对于Windows程序员来说,“从 Charles 的(Windows程序设计)一书中寻找答案。”几乎成了一句至理名言。而(Windows程序设计》第5版是专门为在Microsoft Windows 98、Microsoft Windows NT 4和 Windows NT 5下编程的开发人员编写的。内容博大精深,并有大量的源代码来帮助读者掌握Windows编程。本书覆盖了Windows编程的方方面面,是广大编程人员和学习Windows编程的读者必备的一本好书。</p>

Access数据库与程序设计(第3版)
✍ 陈洁、刘振华、穆翠霞 📂 Library 📅 2020 🏛 清华大学出版社 🌐 Chinese

本书以Microsoft Access 2016中文版为平台,介绍关系数据库管理系统的基础知识及应用开发技术,共分为10章,包括数据库基础知识,Access数据库及其创建,表的创建与使用,查询设计,结构化查询语言,窗体设计,报表设计,宏的设计与使用,VBA与模块,数据库管理等内容,各章均配有丰富的例题和大量的习题,以方便教与学.

数据通信与计算机网络(第5版)
✍ 杨心强 📂 Library 📅 2018 🏛 电子工业出版社 🌐 Chinese

本书是解放军陆军工程大学(原解放军理工大学)优秀教学成果,自1997年首次出版以来,曾于2002、2007和2012年分别出版了修订版。本次改版是在原有教材的基础上,根据教学大纲的要求以及数据通信和计算机网络的最新进展,进行了必要的调整、增补和修改,以适应当前教学的需要。 全书共12章。第1章是全书的概述。第2~4章较全面介绍数据通信基本知识、数据传输信道和数据传输技术。第5~9章重点介绍计算机网络的物理层、数据链路层(含局域网)、网络层、传输层和应用层。第10章介绍因特网的多媒体应用服务。第11章介绍无线网络。第12章介绍网络安全。各章均附有丰富的习题。附录A是部分习题参考答案,附录B是英文

网络工程设计与系统集成(第3版)
✍ 杨陟卓 📂 Library 📅 2014 🏛 人民邮电出版社 🌐 Chinese

本书概要介绍了网络设计与系统集成的概念、技术发展和理论基础。较全面、系统的介绍了综合布线设计、数据中心机房设计,高速局域网与系统集成,园区网路由与系统集成,WLAN及有线无线一体化,服务器技术与系统集成,IPv6技术与系统集成,政务云计算技术及应用,网络安全技术及应用,网络测试与维护等内容。