搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Windows网络程序设计完全讲义
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787508474298
  • 作      者:
    高守传,周书锋主编
  • 出 版 社 :
    中国水利水电出版社
  • 出版日期:
    2010
收藏
编辑推荐
  《Windows 网络程序设计完全讲义》以RFC网络协议为基础,以TCP/IP协议为主线。避免了一般同类书籍脱离RFC且无侧重讨论的问题。紧密结合学习实践需要,‰精选多个典型实例。以实用和兴趣为引导,避免枯澡且脱离实际的学习,进而提高了学习效率。以解决实际问题为原则,代码紧凑而不冗余,而且在关键处还配有大量的代码注释。以最小的篇幅和最简单的代码将复杂问题简单化,利于读者消化和吸收。对于部分难点、疑点,编者还在书中以“说明”或“注释的形式向读者提供相关背景,这样便于读者对正文的理解。全书编配了大量的插图用以解释“流程”、“结构”、“框架”等抽象概念,以辅助读者对相关概念从抽象到具体的转化,从而实现准确的理解。
展开
内容介绍
  网络程序设计是当前各种程序设计中最活跃的一个分支,几乎渗透到各种应用场合。在Windows网络程序设计中,基于套接字的编程方式又是一种比较常见而且最为灵活的网络应用程序设计方法。《Windows 网络程序设计完全讲义》从简单的网络通信协议入手,介绍了Windows中常见网络程序的设计方法,主要包括TCP/IP协议、网络服务、MFC网络编程、WinInet、ISAPI、Internet、HTTP协议、SMTP/POP3协议、代理协议、原始套接字等。此外,还对通用的数据包捕获驱动WinP cap进行简要介绍,并给出了捕获示例,最后结合现实需要对远程控制的相关技术进行说明,并给出了实现的例子。
  全书内容丰富,讲解细腻,在对理论进行阐述的同时,结合具体实践给出了相应的实现代码,具有较强的针对性,力求使读者通过理论联系实际,掌握Windows网络程序设计的一般方法,学习尽可能多的知识。同时,对于开发中可能会遇到的问题也都给出了相应的提示或说明。
  《Windows 网络程序设计完全讲义》定位于初、中级读者,同时也可用作高等院校计算机及通信专业低年级学生的参考教材。
展开
精彩书摘
  如前所述,远程控制技术的实现依赖于主控端和被控端之间的通信。一般情况下,都是通过IPX/Spx或TCP/IP等协议来实现远程控制,而这些都依赖于主控端和被控端之间连接的建立,当然也有少数部分通过类似UDP协议等非连接方式实现控制功能。本节只介绍主流的基于连接的通信控制。
  一般情况下,连接方式分为主动连接和被动连接(又叫反弹连接),这里的主动和被动是指站在主控端的角度而言,所谓主动连接就是由主控端连接被控端,而被动连接则是指被控端连接主控端。早期的远程控制软件都是基于主动的连接方式实现,但是随着网络安全产品应用的推广,使得主动连接方式遭遇到诸多的问题。例如,对于图12.1 中的防火墙和网关后面的被控端而言,主动连接方式很难穿透防火墙和网关,所以如今采用这种连接方式的软件比较鲜见了,而大都采用反弹连接的方式。因此,这也是本节的重点。
  对于反弹连接,所要解决的问题在于如何获取主控端的地址。通常采用两种方式,即直接指定和通过第三方来获取。下面就对它们的具体实现进行讨论。
  直接指定就是将主控端的IP地址或域名配置在被控端的配置信息中,这样当被控端需要连接主控端时,就从自己的配置信息中直接读出主控端的地址信息或域名,然后直接连接即可。对于域名,它还要将其转换为IP地址才能建立到主控端的连接。
  这种方式要求主控端拥有较为固定的IP地址,否则不能保证被控端总能连接到主控端。不过,这可以通过将域名绑定IP地址的方法解决这个问题。但是,又增加了另外的负担,在IP地址变动比较频繁的情况下,要时时将其变化反映到域名上。
  其实,这种问题的另一个问题在于,若不对配置信息进行加密,则可以通过分析被控端文件得知主控端的IP地址或主机域名,这显然会带来一定的风险。
展开
目录
前言
第1章 网络模型
1.1 功能分层
1.2 OSI模型
1.2.1 OSI层次结构
1.2.2 OSI各层功能
1.2.3 OSI层间通信
1.2.4 OSI数据封装及解封装
1.3 TCP/IP协议簇
1.3.1 TCP/IP层次结构
1.3.2 TCP/IP各层功能
1.3.3 TCP/IP与OSI模型比较
1.3.4 Interact层——IP协议
1.3.5 传输层——TCP协议
1.3.6 TCP连接的建立与终止
1.3.7 传输层——1mP协议
1.3.8 Windows2003TCPflP结构模型
1.4 LAN模型
1.4.1 IEEE802概述
1.4.2 以太网标准
1.5 寻址方法
1.6 数据包在网络中的传递
1.7 本章小结

第2章 Windows套接字基础
2.1 套接字简介
2.1.1 Berkeley套接字
2.1.2 Windows套接字规范
2.2 Wind0WSSockets
2.2.1 WindOWSSockets1.0
2.2.2 WindowsSockets1.1
2.3 Wind0WSSockets2
2.3.1 WindowsSockets2简介
2.3.2 同时访问多个传输协议
2.3.3 与WinSock1.1 的兼容性
2.3.4 功能扩展机制
2.3.5 多线程中的应用
2.3.6 分散/聚集I/O支持
2.4 WinSock编程基础
2.4.1 WinSOckAPI
2.4.2 网络程序结构
2.4.3 端口的概念
2.4.4 字节顺序
2.4.5 出错的处理
2.4.6 WinSock库的初始化及释放
2.5 面向连接的通信
2.5.1 socket与WSASocket
2.5.2 绑定套接字bind
2.5.3 监听listen
2.5.4 accept与WSAAccept
2.5.5 send与WSASend
2.5.6 recv与WSARecv
2.5.7 connect与WSA Connect
2.5.8 closesocket
2.6 无连接通信
2.6.1 sendto与WSASendto
2.6.2 recvfrom与WSARecvfrom
2.7 套接字选项与I/O控制
2.7.1 套接字选项
2.7.2 套接字I/O控制
2.8 套接字工作模式
2.9 流式套接字编程实例
2.9.1 TCP服务端设计
2.9.2 TCP客户端设计
2.10 数据报套接字编程实例
2.10.1 UDP服务端设计
2.10.2 UDP客户端设计
2.11 本章小结

第3章 Windows SocketI/O模型
3.1 select模型
3.1.1 select函数
3.1.2 select模型应用
3.2 WSAAsyncSelect模型
3.2.1 WSAAsyncSelect函数
3.2.2 异步选择模型应用
3.3 WSAEventSelect模型
3.3.1 WSAEventSelect函数
3.3.2 事件选择模型辅助API
3.3.3 事件选择模型应用
3.4 重叠I/O模型
3.4.1 重叠套接字I/O概述
3.4.2 完成例程
3.4.3 完成例程应用
3.4.4 基于事件的通知
3.4.5 事件对象应用]
3.5 完成端口模型
3.5.1 完成端口简介
3.5.2 完成端口模型API
3.5.3 完成端口应用
3.6 模型比较
3.7 本章小结

第4章 网络服务
4.1 服务程序
4.1.1 程序入口
4.1.2 服务主函数
4.1.3 服务控制处理器函数
4.1.4 更新服务状态及相关结构
4.2 服务配置
4.2.1 服务的安装
4.2.2 服务的卸载
4.3 服务控制
4.3.1 服务的启动
4.3.2 服务控制请求
4.4 网络服务实例
4.4.1 主函数main
4.4.2 服务主函数SetviceMain
4.4 3控制处理器函数ServiceCtrHtandler
4.4.4 服务配置实现
4.4.5 服务控制实现
4.5 本章小结

第5章 MFC套接字网络编程
5.1 MFC基础与网络类库
5.1.1 MFC基础
5.1.2 MFC中的网络开发相关类
5.2 CAsyncSocket类及其开发
5.2.1 CAsyncSocket类
5.2.2 CAsyncSocket类的编程模式
5.2.3 CAsyncSocket类的异步机制
5.2.4 使用CAsyncSocket类实现信息转发器(服务端)
5.2.5 使用CAsyncSocket类实现信息转发器(客户端)
5.3 CSocket类及其开发
5.3.1 CSocket类
5.3.2 CSocket类的编程模式
5.3.3 CSocket类的同步(阻塞)机制
5.3.4 使用CSocket类的阻塞模式进行通信
5.4 网络聊天室开发实例
5.4.1 服务器端程序的开发
5.4.2 客户端程序的开发
5.5 本章小结

第6章 Winlnet、ISAPI与Internet编程
6.1 Winlnet基础
6.1.1 WinlnetAPI函数
6.1.2 WinlnetAPI函数的使用
6.1.3 MFCWinInet类库概述
6.1.4 :MFCWinlnet类库的使用
6.2 使用MFCWinlnet开发网络应用
6.2.1 Winlnet开发客户端程序的流程
6.2.2 Winlnet开发查询Web网站程序
6.3 利用ISAPI扩展开发CGI程序
6.3.1 CGI基础
6.3.2 CGI应用实例
6.3.3 ISAPI基础
6.3.4 使用MFC开发ISA程序的基本方法
6.3.5 使用MFC开发ISA程序实例
6.4 本章小结

第7章 HTTP协议
7.1 资源标识
7.1.1 统一资源标识符
7.1.2 HTTP统一资源定位符
7.2 HTTP协议
7.2.1 协议版本
7.2.2 协议参数
7.2.3 HTTP消息
7.2.4 HTTP实体
7.2.5 HTTP奎接
7.3 HTTP服务器实例
7.3.1 主函数
7.3.2 初始化及等待连接
7.3.3 服务线程
7.3.4 解析请求
7.4 本章小结

第8章 邮件传输
8.1 电子邮件简介
8.2 电子邮件的格式
8.2.1 RFC822电子邮件格式
8.2.2 MIME电子邮件格式
8.3 SMTP协议
8.3.1 SMTP通信模型
8.3.2 SMTP命令
8.3.3 SMTP响应
8.3.4 使用SMTP发送邮件的步骤
8.4 SMTP服务扩展
8.4.1 EHLO命令
8.4.2 AUTH命令
8.5 电子邮件的认证
8.5.1 AUTHLOGIN机制
8.5.2 AUTHPLAIN机制
8.5 3CRAM.MD5机制
8.6 发送邮件实例
8.6.1 主函数实现
8.6.2 获取服务端响应
8.6.3 认证实现
8.6.4 Base64编解码
8.6.5 邮件发送
8.7 POP3协议
8.7.1 POP3命令
8.7.2 POP3状态
8.7.3 使用POP3操作邮箱的步骤
8.8 接收邮件实例
8.8.1 主函数实现
8.8.2 获取服务端响应
8.8.3 获取邮件/邮箱属性信息
8.8.4 读取邮件
8.8.5 删除邮件
8.9 本章小结

第9章代理服务器
9.1 代理服务器简介
9.1.1 代理服务器功能
9.1.2 代理服务器分类
9.2 HTTP代理
9.3 HTTP代理服务器实例
9.3.1 主函数main
9.3.2 代理线程
9.3.3 转发请求与响应
9.3.4 TCP数据交换
9.4 SOCKS5协议
9.4.1 SOCKS5TCP代理
9.4.2 SOCKS5UDP代理
9.4.3 SOCKS5对认证的支持
9.5 SOCKS5代理实例
9.5.1 主函数main
9.5.2 认证实现
9.5.3 代理线程
9.5.4 代理模式检测
9.5.5 获取地址、端口及IJDP数据
9.5.6 创建IJDP套接字
9.5.7 LIDP代理线程
9.6 本章小结

第10章原始套接字
10.1 原始套接字简介
10.1.1 原始套接字简史
10.1.2 原始套接字与网络安全
10.2 Windows与原始套接字
10.2.1 原始套接字支持
10.2.2 数据发送
10.2.3 数据接收
10.3 如何使用原始套接字
10.3.1 创建原始套接字
10.3.2 原始套接字的协议参数
10.3.3 头包含选项
10.3.4 发送原始数据包示例
10.4 ICMP协议
10.4.1 ICMP协议简介
10.4.2 校验和计算
10.4.3 Ping程序实现
10.4.4 Tracert实现
10.5 数据包捕获
10.5.1 数据包捕获流程
10.5.2 数据包捕获实现
10.6 本章小结

第11章 WinPcap应用
11.1 WinPcap基础
11.1.1 WinPcap结构
11.1.2 NPF的主要功能及其结构
11.1.3 WinPcap工作框架
11.2 WinPcap编程接口
11.2.1 UNIX兼容API
11.2.2 WinPcap扩展API
11.3 WinPcap嗅探实例
11.3.1 主函数
11.3.2 回调函数
11.3.3 协议头部
11.3.4 数据包处理
11.4 本章小结

第12章 远程控制技术
12.1 远程控制的概念
12.2 连接方式
12.2.1 直接指定
12.2.2 通过第三方获取
12.3 线程插入
12.3.1 远程插入DLL
12.3.2 插入DLL实例
12.3.3 远程插入功能代码
12.3.4 插入代码实例
12.4 启动方式
12.4.1 注册表键
12.4.2 自动运行文件
12.4.3 Windows服务
12.4.4 注册为服务
12.4.5 文件关联
12.4.6 其他方式
12.5 被控端配置
12.5.1 附加信息
12.5.2 预留配置
12.6 信息隐藏
12.6.1 文件隐藏
12.6.2 进程隐藏
12.7 捆绑文件
12.7.1 捆绑原理
12.7.2 Win32图标
12.7.3 图标选择
12.7.4 图标操作
12.7.5 更新资源
12.7.6 捆绑实例
12.8 键盘记录
12.8.1 Win32挂钩简介
12.8.2 挂钩相关的API
12.8.3 全局挂钩
12.8.4 实例介绍
12.9 远程控制开发
12.9.1 管道技术
12.9.2 被控端开发
12.9.3 主控端开发
12.10 本章小结
附录A IP协议号
附录B 以太网类型字段
附录C 常见端口
附录D ASCII表
参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证