第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套接字编程原理 15
1.4.1面向连接的套接字调用流程 16
1.4.2无连接套接字调用流程 17
1.4.3 Socket类的基本使用 17
1.4.4套接字的简单应用实例 21
小结 22
实验项目 23
第2章 主机扫描程序设计 24
2.1活动主机探测技术 24
2.1.1 ICMP协议介绍 25
2.1.2基于ICMP的探测原理 27
2.1.3活动主机探测程序设计 28
2.2端口扫描技术 33
2.2.1端口扫描器 33
2.2.2端口扫描技术分类 34
2.3 TCP全连接扫描程序设计 38
2.3.1流程设计 38
2.3.2程序实现 39
2.4高级端口扫描程序设计 42
2.4.1界面设计 43
2.4.2程序实现 43
小结 54
实验项目 55
第3章 基于TCP协议的程序设计 56
3.1 TCP协议介绍 56
3.1.1 TCP数据包格式 57
3.1.2 TCP协议的通信特点 57
3.1.3 TCP的熟知端口 58
3.2阻塞/非阻塞模式及其应用 58
3.2.1典型的阻塞模式 59
3.2.2阻塞模式的特点 59
3.2.3阻塞模式的效率提升方法 60
3.2.4非阻塞模式及其应用 61
3.3同步套接字编程技术 62
3.3.1服务器的程序设计 62
3.3.2客户机的程序设计 66
3.4异步套接字编程技术 70
3.4.1客户机发出连接请求 70
3.4.2服务器接收连接请求 70
3.4.3服务器发送和接收数据 71
3.5基于TcpClient类和TcpListener类的编程 72
3.5.1 TcpClient类的使用方法 73
3.5.2 TcpListener类的使用方法 74
3.6网络游戏程序设计 75
小结 86
实验项目 86
第4章 基于UDP协议的程序设计 87
4.1 UDP协议介绍 87
4.1.1 UDP数据包格式 88
4.1.2 UDP协议的主要特性 88
4.2使用UdpClient类进行编程 89
4.2.1 UdpClient类的使用方法 89
4.2.2 UdpClient类的应用实例 91
4.3网络广播程序设计 93
4.3.1广播程序设计示例 94
4.3.2套接字选项设置方法 96
4.4多播程序设计 97
4.4.1多播地址 97
4.4.2因特网组管理协议IGMP 98
4.4.3多播编程方法 99
4.4.4多播编程实例 101
小结 104
实验项目 104
第5章 远程屏幕监视程序设计 105
5.1屏幕捕获过程解析 105
5.2屏幕捕获程序设计 107
5.3基于远程调用信道的远程屏幕监视程序设计 110
5.3.1远程调用信道及其应用 110
5.3.2基于远程调用信道的屏幕传输程序设计 116
5.4基于TCP协议的远程屏幕监视程序设计 119
5.4.1控制端 120
5.4.2客户端 121
小结 124
实验项目 124
第6章 木马程序设计 125
6.1木马工作原理 125
6.1.1木马系统的组成 126
6.1.2木马的功能和特征 126
6.1.3木马的传播与运行 127
6.2木马程序的常规设计 128
6.2.1功能设计 128
6.2.2流程图设计 128
6.2.3命令规则设计表 129
6.2.4文件操控模块流程 129
6.2.5运行界面及说明 130
6.2.6主要程序说明 131
6.3键盘鼠标控制程序设计 136
6.3.1键盘钩子说明 136
6.3.2键盘鼠标的网络控制程序设计 138
小结 143
实验项目 143
第7章 IP语音网络通信程序设计 144
7.1基于多媒体控件的音频播放程序设计 145
7.2基于MCI的音频采集与播放程序设计 146
7.2.1 MCI编程基础 146
7.2.2基于字符串的MCI命令 148
7.2.3基于命令消息的MCI命令 151
7.2.4基于MCI的音频播放程序设计实例 152
7.3 DirectX组件的工作原理 158
7.3.1 DirectSound简介 158
7.3.2声音的播放过程 159
7.4基于DirectX组件的IP语音网络程序设计 160
7.4.1利用DirectX组件实现音频播放 160
7.4.2利用DirectX组件实现音频采集 161
7.4.3基于DirectX组件的IP电话程序设计 170
7.5基于低级音频函数的IP电话程序设计 178
7.5.1低级音频函数的调用方法 178
7.5.2利用低级音频函数实现音频采集与播放 182
7.5.3利用低级音频函数实现语音通信程序设计 190
小结 192
实验项目 192
第8章 E-mail服务程序设计 193
8.1 E-mail工作原理 193
8.1.1 E-mail系统的工作原理 193
8.1.2相关的协议 194
8.2 SMTP协议编程 196
8.2.1 SMTP的指令与响应码 196
8.2.2 E-mail的组成 197
8.2.3 ESMTP的工作流程 197
8.2.4 ESMTP协议编程实例 199
8.3 POP3协议编程 202
8.3.1 POP3的工作流程 203
8.3.2 POP3协议编程 204
8.4利用SmtpMail类发送E-mail 208
8.4.1 System.Web.Mail介绍 208
8.4.2处理E-mail信息及附件 210
8.4.3 E-mail发送方法 211
8.5利用E-mail类收发E-mail 212
8.5.1 E-mail组件的特点 212
8.5.2 E-mail组件的主要参数与使用方法 212
8.5.3基于E-mail组件的E-mail发送编程 214
8.5.4基于E-mail组件的E-mail接收编程 215
小结 217
实验项目 218
第9章 FTP服务程序设计 219
9.1 FTP工作原理 219
9.1.1 FTP服务的工作原理 220
9.1.2 FTP的传输模式 220
9.1.3 FTP的登录方式 221
9.2 FTP协议规范 221
9.2.1 FTP命令 222
9.2.2 FTP响应码 223
9.2.3 FTP命令和响应码的应用方法 224
9.3 FTP协议的两种工作模式 225
9.3.1 FTP PORT模式(主动模式) 225
9.3.2 FTP PASV模式(被动模式) 226
9.3.3两种模式的比较 227
9.4基于Socket类的FTP程序设计 228
9.5基于TcpClient类的FTP程序设计 247
9.5.1发送与接受数据的方法 247
9.5.2服务器程序 249
9.5.3客户机程序 250
小结 253
实验项目 254
第10章 网络信息加密传输程序设计 255
10.1数据加密模型 255
10.1.1数据加密工作模型 256
10.1.2对称加密模型 256
10.1.3非对称加密模型 258
10.1.4数字签名模型 259
10.2对称加密程序设计 261
10.2.1对称加密算法 261
10.2.2基于流的加密解密方法 262
10.2.3对称加密程序设计实例 264
10.3非对称加密程序设计 267
10.4网络信息加密传输程序设计 273
10.4.1服务器的实现 274
10.4.2客户机的实现 281
小结 287
实验项目 288
第11章 网络信息隐藏通信程序设计 289
11.1 LSB信息隐藏方法 289
11.2基于LSB的文件隐藏传输程序设计 291
11.2.1设计思路 291
11.2.2信息同步技术 292
11.2.3 LSB的改进算法设计 293
11.2.4主要代码实现 294
11.3 IP语音隐秘通信程序设计 301
11.3.1设计思路 301
11.3.2发送端关键代码 302
11.3.3接收端关键代码 304
11.4网页信息隐藏程序设计 305
11.4.1网页入侵检测的工作原理 305
11.4.2网页入侵检测系统的设计 306
11.4.3网页入侵检测系统的实现 307
小结 314
实验项目 314
参考文献 315