第1章绪论1
1.1TCP/IP协议简介1
1.1.1TCP/IP的起源2
1.1.2TCP/IP的体系结构和特点3
1.2网络编程的重要术语4
1.2.1套接字及其类型4
1.2.2网间进程通信的标识6
1.2.3客户机/服务器模式6
1.3C#网络编程概述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.3Socket类的基本使用18
1.4.4套接字的简单应用实例22
小结23
实验项目23
第2章主机扫描程序设计25
2.1活动主机探测技术25
2.1.1ICMP协议介绍25
2.1.2基于ICMP的探测原理28
2.1.3活动主机探测程序设计29
2.2端口扫描技术34
2.2.1端口扫描器352.2.2端口扫描技术分类36
2.3TCP全连接扫描程序设计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.1SerialPort类介绍65
3.2.2SerialPort的使用66
3.2.3C# SerialPort运行方式 66
3.3串口通信编程实例67
3.3.1串口通信参数设置68
3.3.2主程序设计69
3.3.3串口通信程序测试74
小结75
实验项目75
第4章基于TCP协议的程序设计76
4.1TCP协议介绍76
4.1.1TCP数据包格式77
4.1.2TCP协议的通信特点77
4.1.3TCP的常见端口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.1TcpClient类的使用方法94
4.5.2TcpListener类的使用方法95
4.6网络游戏程序设计96
小结107
实验项目108
第5章基于UDP协议的程序设计109
5.1UDP协议介绍109
5.1.1UDP数据包格式110
5.1.2UDP协议的主要特性110
5.2使用UdpClient类进行编程111
5.2.1UdpClient类的使用方法111
5.2.2UdpClient类的应用实例113
5.3网络广播程序设计115
5.3.1广播程序设计示例116
5.3.2套接字选项设置方法118
5.4多播程序设计119
5.4.1多播地址119
5.4.2Internet组管理协议IGMP120
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.1BlockInput()的使用方法161
7.3.2键盘钩子说明161
7.3.3键盘鼠标的网络控制程序设计163
小结169
实验项目169
第8章IP音频网络通信程序设计170
8.1音频编程方法概述170
8.2基于多媒体控件的音频播放程序设计171
8.3DirectX组件的工作原理173
8.3.1DirectX简介173
8.3.2DirectSound简介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.1VFW介绍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章Email服务程序设计233
10.1概述233
10.1.1工作原理233
10.1.2相关的协议235
10.2SMTP协议编程236
10.2.1SMTP的指令与响应码236
10.2.2Email的组成237
10.2.3ESMTP的工作流程238
10.2.4ESMTP协议编程实例239
10.3POP3协议编程243
10.3.1POP3的工作流程243
10.3.2POP3协议编程245
10.4利用SmtpMail类发送Email250
10.4.1System.Web.Mail介绍250
10.4.2处理Email信息及附件252
10.4.3Email发送方法253
10.5利用JMail类收发Email254
10.5.1JMail组件的特点254
10.5.2JMail组件的主要参数与使用方法254
10.5.3基于JMail组件的Email发送编程257
10.5.4基于JMail组件的Email接收编程258
小结260
实验项目260
第11章FTP服务程序设计262
11.1FTP工作原理262
11.1.1FTP服务的工作原理262
11.1.2FTP的传输模式263
11.1.3FTP的登录方式264
11.2FTP协议规范264
11.2.1FTP命令264
11.2.2FTP响应码265
11.2.3FTP命令和响应码的应用方法267
11.3FTP协议的两种工作模式268
11.3.1FTP PORT模式(主动模式)268
11.3.2FTP 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.3ICMP时间戳请求与应答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.1LSB信息隐藏方法361
14.2基于LSB的文件隐藏传输程序设计363
14.2.1设计思路363
14.2.2信息同步技术364
14.2.3LSB的改进算法设计365
14.2.4主要代码实现365
14.3IP语音隐秘通信程序设计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