《Visual C++网络程序设计实例详解》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:张越等编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2006
  • ISBN:7115149143
  • 页数:342 页
图书介绍:本书介绍了使用VC++开发各种网络程序的方法与技巧。

1.1Winsock编程入门——简单的TCP服务器 1

1.1.1Winsock编程简介 1

1.1.2简单的TCP服务器 1

第1章 客户机/服务器开发 1

1.1.3测试程序 4

1.2Winsock编程入门——简单的TCP客户端 4

1.2.1TCP客户程序的编写流程 5

1.2.2初始化Winsock库 5

1.2.3创建套接字 5

1.2.4获取主机信息 5

1.2.6TCP通信 6

1.2.5连接到服务器 6

1.2.7关闭连接、释放Winsock库 7

1.3多线程TCP服务器和客户端实例 7

1.3.1实例介绍 7

1.3.2多线程服务器 7

1.3.3自定义传输协议 8

1.3.4客户端程序 12

1.4网络对时程序实例 17

1.4.1时间协议(TimeProtocol) 17

1.4.2TCP/IP实现代码 17

1.5网络文件传输实例 19

1.5.1服务器端程序代码分析 20

1.5.2客户端程序代码分析 23

1.5.3演示软件 26

第2章 计算机嗅探和远程控制 27

2.1Ping程序实例 27

2.1.1原始套接字 27

2.1.2Ping程序运行原理 28

2.1.3Ping程序代码分析 30

2.1.4WinPing程序实例分析 32

2.2路由跟踪实例 33

2.3网络嗅探器实例 35

2.3.1嗅探器设计原理 36

2.3.2网络嗅探器的具体实现 37

2.4远程进程和机器控制实例 40

2.4.1远程控制机器的方法 41

2.4.2基本实施方案 41

2.4.3客户程序的实施细节 45

2.4.4服务器程序的实施细节 46

2.5网络唤醒(WakeOnLAN)实例 46

2.5.1WOL工作方式 46

2.5.2魔术包格式 46

2.5.3获取MAC地址 47

2.5.4实例代码分析 49

3.1.1IP数据报格式 53

3.1原始UDP封包发送实例 53

第3章 网络计算机扫描 53

3.1.2UDP数据报格式 54

3.1.3原始UDP封包发送实例 57

3.2原始以太封包发送实例 59

3.2.1NDIS协议驱动 59

3.2.2协议驱动用户接口 60

3.2.3发送以太封包的测试程序 66

3.3TCP/IP端口扫描实例 68

3.3.1扫描器的工作方式 68

3.3.2扫描器的实现 70

3.4.1端口扫描原理 71

3.4高级TCP半开端口扫描实例 71

3.4.2以太网数据帧 72

3.4.3半开端口扫描实现 73

第4章 网络封包过滤技术 81

4.1Windows网络数据和封包过滤概述 81

4.1.1Windows网络系统体系结构图 81

4.1.2用户模式下的网络数据过滤 82

4.1.3内核模式下的网络数据过滤 83

4.2HookAPI过滤原理 83

4.2.1通过覆盖代码挂钩API 83

4.2.2DLL工程框架 87

4.2.3数据交换机制 88

4.2.4数据的过滤 90

4.3HookAPI过滤实例 91

4.3.1主窗口界面 91

4.3.2注入DLL 94

4.3.3处理封包 99

4.4基于SPI的数据报过滤实例 102

4.4.1SPI概述 102

4.4.2Winsock协议目录 104

4.4.3分层服务提供者(LSP) 109

4.4.4数据报过滤实例 121

4.5IP过滤钩子驱动 127

4.5.1创建过滤钩子(Filter-hook)驱动 127

4.5.2IP过滤钩子驱动工程框架 130

4.5.3过滤列表 133

4.5.4编写过滤函数 134

4.5.5注册钩子回调函数 137

4.5.6处理IOCTL设备控制代码 138

4.6Windows防火墙开发实例 139

4.6.1文档视图 140

4.6.2文档对象 143

4.6.3视图对象 144

4.6.4主窗口对象 147

5.1.2编译和安装PassThru驱动 151

5.1.1PassThruNDIS中间层驱动简介 151

5.1中间层网络驱动PassThru 151

第5章 NDIS中间层驱动开发 151

5.2扩展PassThruNDISIM驱动——添加IOCTL接口 152

5.2.1扩展之后的PassThru驱动(PassThruEx)概况 152

5.2.2添加基本的DeviceIoControl接口 153

5.2.3添加绑定枚举功能 157

5.2.4添加ADAPT结构的引用计数 162

5.2.5适配器句柄的打开/关闭函数 163

5.2.6句柄事件通知 170

5.2.7查询和设置适配器的OID信息 170

5.3扩展PassThruNDISIM驱动——添加过滤规则 179

5.3.1需要考虑的事项 179

5.3.2过滤相关的数据结构 180

5.3.3过滤列表 181

5.3.4网络活动状态 183

5.3.5IOCTL控制代码 184

5.3.6过滤数据 187

5.4核心层过滤实例 196

第6章 网络安全 199

6.1ARP概述 199

6.1.1ARP 199

6.1.2ARP协议格式 202

6.1.3SendARP函数 202

6.2.1管理原始ARP封包 203

6.2局域网计算机诊测实例 203

6.2.2ARP扫描示例 206

6.3ARP欺骗与ARP表中毒实例 211

6.3.1IP欺骗的用途和实现原理 211

6.3.2IP地址冲突 212

6.3.3ARP欺骗示例程序 212

6.4SuperPasswordSpy++密码诊测实例 215

6.4.1体系结构 216

6.4.2实现细节 217

6.5侦听局域网内密码实例 220

7.1.1获取网络配置信息 224

7.1IP配置信息管理实例 224

第7章 IP帮助函数 224

7.1.2管理网络接口 226

7.1.3管理IP地址 230

7.2获取网络状态信息实例 233

7.2.1获取TCP连接表 234

7.2.2获取UDP监听表 237

7.2.3获取IP统计数据 239

7.3路由管理实例 247

7.3.1获取路由表 247

7.3.2管理特定路由 250

7.3.3修改默认网关的例子 251

7.4ARP表管理实例 252

7.4.1获取ARP表 253

7.4.2添加ARP入口 253

7.4.3删除ARP入口 254

7.4.4打印ARP表 254

7.5进程网络活动监视实例 258

7.5.1获取通信的进程终端 258

7.5.2Netstate源程序代码 260

8.1.2RS232C串口通信接线方法(三线制) 265

8.1.1DB9和DB25的常用信号脚说明 265

8.1串口通信基本接线方法 265

第8章 串口通信编程技术 265

8.1.3串口调试中要注意的几点 266

8.2串口通信基本API函数 266

8.3异步通信实例 270

8.3.1异步通信基础 271

8.3.2异步通信实例分析 273

8.4CSerial类的封装与串口调试实例 277

8.4.1串口类CSerial的封装 277

8.4.2串口测试程序ComTest 288

8.5.1通信协议 290

8.5.2文件传输过程 290

8.5串口文件传输实例 290

8.5.3通信协议实施细节 291

8.5.4命令号和状态代码的定义 291

8.5.5数据校验 292

8.5.6通讯协议控制类CSCSerial 293

8.5.7文件传输程序具体实现 297

第9章 综合实例 310

9.1IP多播(Multicasting)实例 310

9.1.1套接字选项 310

9.1.2多播地址 312

9.1.3组管理协议(IGMP) 312

9.1.4使用IP多播 313

9.2基于IP多播的组讨论会实例 317

9.2.1定义组讨论会协议 317

9.2.2线程通信机制 318

9.2.3封装CGroupTalk类 318

9.2.4程序界面 325

9.3完成端口I/O模型编程实例 328

9.3.1完成端口(completionport)对象简介 328

9.3.2使用IOCP的方法 329

9.3.3示例程序 330

9.3.4恰当地关闭IOCP 333

9.4基于I/O完成端口的IP多播编程实例(使用UDP) 334

9.5从NT服务启动Windows程序实例 340