第1章 课程要求与教学指导 1
1.1 课程特点 1
1.1.1 教学内容的变化 1
1.1.2 能力培养的需求 3
1.2 教学要求 4
1.2.1 主教材知识点结构 4
1.2.2 主教材的基本特点 5
1.2.3 各章重点与教学要求 5
1.3 编程题目 14
1.3.1 练习目的 14
1.3.2 教学建议 15
第2章 套接字编程基础知识 16
2.1 套接字编程的概念 16
2.1.1 网络协议的概念 16
2.1.2 客户机/服务器的概念 17
2.1.3 套接字的概念 17
2.2 Windows套接字编程 19
2.2.1 Winsock的基本概念 19
2.2.2 Winsock初始化与卸载 20
2.2.3 Winsock基本函数 21
2.2.4 Winsock 2.0的变化 26
2.3 网络编程模式 27
2.3.1 TCP编程模式 27
2.3.2 UDP编程模式 29
第3章 FTP客户机程序设计 30
3.1 基础知识 30
3.1.1 应用层的基本概念 30
3.1.2 FTP服务的基本概念 31
3.1.3 FTP服务的工作原理 33
3.1.4 FTP命令与FTP响应信息 34
3.2 例题分析 37
3.2.1 设计要求 37
3.2.2 关键问题 38
3.2.3 程序源代码 42
3.3 练习题 49
第4章 POP3客户机程序设计 51
4.1 基础知识 51
4.1.1 电子邮件的基本概念 51
4.1.2 电子邮件的工作原理 52
4.1.3 邮件地址与邮件格式 56
4.1.4 POP命令与POP响应信息 57
4.2 例题分析 59
4.2.1 设计要求 59
4.2.2 关键问题 59
4.2.3 程序源代码 63
4.3 练习题 69
第5章 WWW客户机程序设计 70
5.1 基础知识 70
5.1.1 WWW服务的基本概念 70
5.1.2 WWW服务的工作原理 72
5.1.3 网页与HTML语言 75
5.1.4 HTTP命令与HTTP响应信息 77
5.2 例题分析 81
5.2.1 设计要求 81
5.2.2 关键问题 82
5.2.3 程序源代码 84
5.3 练习题 88
第6章 SNMP管理器程序设计 89
6.1 基础知识 89
6.1.1 网络管理的基本概念 89
6.1.2 网络管理的主要功能 92
6.1.3 网管系统的工作原理 93
6.1.4 SNMP命令与SNMP响应信息 95
6.2 例题分析 98
6.2.1 设计要求 98
6.2.2 关键问题 98
6.2.3 程序源代码 101
6.3 练习题 107
第7章 主机端口扫描程序设计 108
7.1 基础知识 108
7.1.1 传输层的基本概念 108
7.1.2 主要的传输层协议 109
7.1.3 端口号的分配方法 112
7.1.4 端口扫描的工作原理 113
7.2 例题分析 114
7.2.1 设计要求 114
7.2.2 关键问题 115
7.2.3 程序源代码 118
7.3 练习题 121
第8章 网络主机扫描程序设计 122
8.1 基础知识 122
8.1.1 ICMP协议的基本概念 122
8.1.2 ICMP协议的主要功能 122
8.1.3 ICMP数据包的结构 124
8.1.4 PING程序的工作原理 125
8.2 例题分析 127
8.2.1 设计要求 127
8.2.2 关键问题 127
8.2.3 程序源代码 130
8.3 练习题 135
第9章 IP数据包捕获程序设计 136
9.1 基础知识 136
9.1.1 网络层的基本概念 136
9.1.2 IP协议的主要特点 137
9.1.3 IP数据包的结构 138
9.1.4 IP包捕获的工作原理 141
9.2 例题分析 142
9.2.1 设计要求 142
9.2.2 关键问题 143
9.2.3 程序源代码 145
9.3 练习题 150
第10章 IP地址判断程序设计 151
10.1 基础知识 151
10.1.1 IP地址的基本概念 151
10.1.2 IP地址的分类方法 152
10.1.3 特殊的IP地址类型 153
10.1.4 IP地址的划分方式 154
10.2 例题分析 155
10.2.1 设计要求 155
10.2.2 关键问题 156
10.2.3 程序源代码 157
10.3 练习题 161
第11章 IPv6数据包封装程序设计 162
11.1 基础知识 162
11.1.1 IPv6协议的基本概念 162
11.1.2 IPv6数据包的结构 163
11.1.3 IPv6地址的基本格式 165
11.1.4 IPv6协议的安全功能 166
11.2 例题分析 168
11.2.1 设计要求 168
11.2.2 关键问题 168
11.2.3 程序源代码 170
11.3 练习题 176
第12章 以太帧封装程序设计 178
12.1 基础知识 178
12.1.1 数据链路层的基本概念 178
12.1.2 以太网的基本概念 179
12.1.3 以太帧的结构 180
12.1.4 CRC校验的工作原理 181
12.2 例题分析 182
12.2.1 设计要求 182
12.2.2 关键问题 183
12.2.3 程序源代码 185
12.3 练习题 189
附录A RFC文档 191
附录B 参考文献 195