第1章 绪论 1
1.1 TCP/IP协议简介 1
1.1.1 TCP/IP的起源 2
1.1.2 TCP/IP的体系结构和特点 3
1.2 网络编程的重要术语 4
1.2.1 套接字及其类型 4
1.2.2 网间进程通信的标识 6
1.2.3 客户机/服务器模式 6
1.3 C#网络编程概述 8
1.3.1 常用的网络组件 9
1.3.2 寻找IP地址的类和方法 10
1.3.3 数据流的类型与应用 11
1.3.4 多线程技术 13
1.4 套接字编程原理 16
1.4.1 面向连接的套接字调用流程 16
1.4.2 无连接套接字调用流程 16
1.4.3 Socket类的基本使用 18
1.4.4 套接字的简单应用实例 22
小结 23
实验项目 23
第2章 主机扫描程序设计 25
2.1 活动主机探测技术 25
2.1.1 ICMP协议介绍 25
2.1.2 基于ICMP的探测原理 28
2.1.3 活动主机探测程序设计 29
2.2 端口扫描技术 34
2.2.1 端口扫描器 35
2.2.2 端口扫描技术分类 36
2.3 TCP全连接扫描程序设计 39
2.3.1 流程设计 40
2.3.2 程序实现 40
2.4 高级端口扫描程序设计 44
2.4.1 界面设计 45
2.4.2 程序实现 45
小结 57
实验项目 57
第3章 串口通信程序设计 59
3.1 串口通信基本原理和应用方法 59
3.1.1 串口通信原理 59
3.1.2 串口通信仿真设计方法 63
3.2 串口通信编程类介绍 64
3.2.1 SerialPort类介绍 65
3.2.2 SerialPort的使用 66
3.2.3 C# SerialPort运行方式 66
3.3 串口通信编程实例 67
3.3.1 串口通信参数设置 68
3.3.2 主程序设计 69
3.3.3 串口通信程序测试 74
小结 75
实验项目 75
第4章 基于TCP协议的程序设计 76
4.1 TCP协议介绍 76
4.1.1 TCP数据包格式 77
4.1.2 TCP协议的通信特点 77
4.1.3 TCP的常见端口 78
4.2 阻塞/非阻塞模式及其应用 78
4.2.1 典型的阻塞模式 78
4.2.2 阻塞模式的特点 79
4.2.3 阻塞模式的效率提升方法 80
4.2.4 非阻塞模式及其应用 81
4.3 同步套接字编程技术 82
4.3.1 服务器的程序设计 82
4.3.2 客户机的程序设计 87
4.4 异步套接字编程技术 91
4.4.1 客户机发出连接请求 91
4.4.2 服务器接收连接请求 91
4.4.3 服务器发送和接收数据 92
4.5 基于TcpClient类和TcpListener类的编程 94
4.5.1 TcpClient类的使用方法 94
4.5.2 TcpListener类的使用方法 95
4.6 网络游戏程序设计 96
小结 107
实验项目 108
第5章 基于UDP协议的程序设计 109
5.1 UDP协议介绍 109
5.1.1 UDP数据包格式 110
5.1.2 UDP协议的主要特性 110
5.2 使用UdpClient类进行编程 111
5.2.1 UdpClient类的使用方法 111
5.2.2 UdpClient类的应用实例 113
5.3 网络广播程序设计 115
5.3.1 广播程序设计示例 116
5.3.2 套接字选项设置方法 118
5.4 多播程序设计 119
5.4.1 多播地址 119
5.4.2 Internet组管理协议IGMP 120
5.4.3 多播编程方法 121
5.4.4 多播编程实例 123
小结 126
实验项目 127
第6章 远程屏幕监视程序设计 128
6.1 屏幕捕获过程解析 128
6.2 屏幕捕获程序设计 130
6.3 基于远程调用信道的远程屏幕监视程序设计 134
6.3.1 远程调用信道及其应用 134
6.3.2 基于远程调用信道的屏幕传输程序设计 140
6.4 基于TCP协议的远程屏幕监视程序设计 144
6.4.1 控制端 144
6.4.2 客户端 145
小结 148
实验项目 149
第7章 木马程序设计 150
7.1 木马工作原理 150
7.1.1 木马系统的组成 151
7.1.2 木马的功能和特征 151
7.1.3 木马的传播与运行 152
7.2 木马程序的常规设计 153
7.2.1 功能设计 153
7.2.2 流程图设计 153
7.2.3 命令规则设计表 153
7.2.4 文件操控模块流程 155
7.2.5 运行界面及说明 155
7.2.6 主要程序说明 157
7.3 键盘鼠标控制程序设计 161
7.3.1 BlockInput()的使用方法 161
7.3.2 键盘钩子说明 161
7.3.3 键盘鼠标的网络控制程序设计 163
小结 169
实验项目 169
第8章 IP音频网络通信程序设计 170
8.1 音频编程方法概述 170
8.2 基于多媒体控件的音频播放程序设计 171
8.3 DirectX组件的工作原理 173
8.3.1 DirectX简介 173
8.3.2 DirectSound简介 175
8.3.3 声音的播放过程 176
8.4 基于DirectX组件的IP语音网络程序设计 177
8.4.1 利用DirectX组件实现音频播放 177
8.4.2 利用DirectX组件实现音频采集 178
8.4.3 基于DirectX组件的IP电话程序设计 186
8.5 基于低级音频函数的IP电话程序设计 195
8.5.1 低级音频函数的调用方法 195
8.5.2 利用低级音频函数实现音频采集与播放 199
8.5.3 利用低级音频函数实现语音通信程序设计 207
小结 209
实验项目 209
第9章 网络视频传输程序设计 211
9.1 视频编码技术 211
9.1.1 视频编码分类 211
9.1.2 视频格式转换 214
9.2 基于VFW的视频采集与存储 215
9.2.1 VFW介绍 215
9.2.2 视频数据处理技术 216
9.2.3 视频监控程序设计 221
9.3 基于VFW的视频传输 224
9.3.1 视频传输流程 224
9.3.2 视频发送端程序设计 226
9.3.3 视频接收端程序设计 229
小结 232
实验项目 232
第10章 E-mail服务程序设计 233
10.1 概述 233
10.1.1 工作原理 233
10.1.2 相关的协议 235
10.2 SMTP协议编程 236
10.2.1 SMTP的指令与响应码 236
10.2.2 E-mail的组成 237
10.2.3 ESMTP的工作流程 238
10.2.4 ESMTP协议编程实例 239
10.3 POP3协议编程 243
10.3.1 POP3的工作流程 243
10.3.2 POP3协议编程 245
10.4 利用SmtpMail类发送E-mail 250
10.4.1 System.Web.Mail介绍 250
10.4.2 处理E-mail信息及附件 252
10.4.3 E-mail发送方法 253
10.5 利用JMail类收发E-mail 254
10.5.1 JMail组件的特点 254
10.5.2 JMail组件的主要参数与使用方法 254
10.5.3 基于JMail组件的E-mail发送编程 257
10.5.4 基于JMail组件的E-mail接收编程 258
小结 260
实验项目 260
第11章 FTP服务程序设计 262
11.1 FTP工作原理 262
11.1.1 FTP服务的工作原理 262
11.1.2 FTP的传输模式 263
11.1.3 FTP的登录方式 264
11.2 FTP协议规范 264
11.2.1 FTP命令 264
11.2.2 FTP响应码 265
11.2.3 FTP命令和响应码的应用方法 267
11.3 FTP协议的两种工作模式 268
11.3.1 FTP PORT模式(主动模式) 268
11.3.2 FTP PASV模式(被动模式) 269
11.3.3 两种模式的比较 270
11.4 基于Socket类的FTP程序设计 271
11.5 基于TcpClient类的FTP程序设计 288
11.5.1 发送与接受数据的方法 288
11.5.2 服务器程序 290
11.5.3 客户机程序 291
小结 295
实验项目 295
第12章 网络测量程序设计 297
12.1 网络测量概述 297
12.1.1 网络测量的分类 298
12.1.2 网络测量的研究方向 299
12.1.3 网络测量工具 300
12.2 网络测量技术 303
12.2.1 主要测量指标 303
12.2.2 时延计算 305
12.2.3 ICMP时间戳请求与应答 307
12.3 网站可达性测量程序设计 308
12.3.1 网站测量概述 308
12.3.2 系统设计思路 309
12.3.3 数据库设计 310
12.3.4 程序实现 311
小结 324
实验项目 324
第13章 网络信息加密传输程序设计 325
13.1 数据加密模型 325
13.1.1 数据加密工作模型 326
13.1.2 对称加密模型 326
13.1.3 非对称加密模型 327
13.1.4 数字签名模型 328
13.2 对称加密程序设计 330
13.2.1 对称加密算法 330
13.2.2 基于流的加密解密方法 331
13.2.3 对称加密程序设计实例 334
13.3 非对称加密程序设计 337
13.4 网络信息加密传输程序设计 345
13.4.1 服务器的实现 345
13.4.2 客户机的实现 353
小结 360
实验项目 360
第14章 网络信息隐藏通信程序设计 361
14.1 LSB信息隐藏方法 361
14.2 基于LSB的文件隐藏传输程序设计 363
14.2.1 设计思路 363
14.2.2 信息同步技术 364
14.2.3 LSB的改进算法设计 365
14.2.4 主要代码实现 365
14.3 IP语音隐秘通信程序设计 372
14.3.1 设计思路 372
14.3.2 发送端关键代码 373
14.3.3 接收端关键代码 375
14.4 网页信息隐藏程序设计 377
14.4.1 网页入侵检测的工作原理 377
14.4.2 网页入侵检测系统的设计 377
14.4.3 网页入侵检测系统的实现 378
小结 386
实验项目 386
参考文献 387