第1章 计算机网络体系结构 1
1.1 基础知识与常见术语 1
1.1.1 网络功能与协议 1
1.1.2 包与帧 2
1.1.3 网络规模分类 4
1.1.4 网络类型与网络操作系统 4
1.2 开放系统互连参考模型 5
1.2.1 物理层 6
1.2.2 数据链路层 6
1.2.3 网络层 7
1.2.4 传输层 7
1.2.5 会话层 7
1.2.6 表示层 8
1.2.7 应用层 8
1.2.8 OSI模型综述 8
1.3 TCP/IP参考模型 10
1.3.1 网络接口层 11
1.3.2 网际层 11
1.3.3 传输层 12
1.3.4 应用层 12
1.4 网络接口层及其相关协议 13
1.4.1 面向字符的链路层协议和面向比特的链路层协议 13
1.4.2 高级数据链路控制规程HDLC 14
1.4.3 X.25的链路层协议LAPB 16
1.4.4 点到点(PPP)协议 17
1.5 网际层及其相关协议 18
1.5.1 IP协议 18
1.5.2 消息控制协议 22
1.5.3 地址解析/反向地址解析协议 24
1.6 传输层及其相关协议 26
1.6.1 面向连接的TCP协议 26
1.6.2 无连接的UDP协议 30
1.7 应用层及其相关协议 30
1.7.1 客户/服务器模式 30
1.7.2 域名系统(DNS) 31
1.7.3 远程登录(TELNET) 31
1.7.4 文件传输协议(FTP) 33
1.7.5 简单邮件传输协议(SMTP) 35
第2章 局域网技术 39
2.1 局域网概述 39
2.1.1 局域网定义 39
2.1.2 局域网简史 39
2.1.3 局域网特点 40
2.1.4 局域网组成 40
2.2 网络接口卡与硬件编址 40
2.2.1 网卡基本结构 41
2.2.2 网卡参数 42
2.2.3 硬件编址与包过滤 42
2.2.4 硬件编址方式 44
2.2.5 广播与多播 44
2.2.6 帧格式 45
2.2.7 隐式帧网络 46
2.3 局域网拓扑结构 47
2.3.1 星型拓扑结构 47
2.3.2 环形拓扑结构 48
2.3.3 总线拓扑结构 48
2.3.4 树型结构 49
2.3.5 点对点连接 49
2.3.6 网状结构 50
2.4 局域网体系结构 50
2.4.1 IEEE 802局域网参考模型 50
2.4.2 IEEE 802局域网标准 53
2.4.3 以太网技术 54
2.4.4 令牌环网 58
2.5 局域网互连设备 62
2.5.1 转发器 62
2.5.2 中继器 63
2.5.3 网桥 63
2.5.4 集线器 66
2.5.5 路由器 69
第3章 网络编程基础 73
3.1 NetBIOS简介 73
3.1.1 NetBIOS通信 73
3.1.2 NetBIOS编程 74
3.1.3 小结 76
3.2 Socket原理与通信规范 76
3.2.1 Socket基础知识 76
3.2.2 客户机/服务器模式 78
3.3 Winsock编程基础 79
3.3.1 Winsock简史 79
3.3.2 Winsock体系结构 79
3.3.3 Socket类型 80
3.3.4 Winsock库加载和卸载 81
3.3.5 Winsock初始化与关闭 81
3.3.6 Winsock协议信息 83
3.3.7 字节顺序 84
3.4 IP家族 85
3.4.1 定址 86
3.4.2 获取主机信息 87
3.5 构架TCP/IP应用程序框架 90
3.5.1 Windows Socket与Berkeley Socket的差异 91
3.5.2 隐藏UNIX和WINDOWS SOCKET API的区别 92
3.5.3 TCP/IP框架设计基础 94
3.5.4 TCP/UDP服务器/客户机框架 101
3.6 RAW SOCKET编程 111
3.6.1 创建原始套接字 111
3.6.2 设置套接字选项 112
3.6.3 创建并填充相应协议头 115
3.6.4 后续步骤 116
第4章 网络监听与过滤技术 118
4.1 包捕获 118
4.1.1 利用以太网络的广播特性进行监听 119
4.1.2 基于路由器的网络底层信息监听技术 120
4.2 包过滤与分解 122
4.2.1 过滤原理 122
4.2.2 包分解 122
4.2.3 BPF包捕获与过滤机制 122
4.3 系统无关捕获函数库 131
4.3.1 Libpcap体系结构 131
4.3.2 WinPcap体系结构 134
4.3.3 使用pcap库 135
第5章 协议分析模块 154
5.1 协议分析总控函数与数据结构 154
5.1.1 协议分析总控函数 154
5.1.2 报文协议信息 157
5.1.3 统计信息 160
5.2 链路层支持 162
5.3 网络层支持 166
5.3.1 IP协议支持 166
5.3.2 ARP/RARP协议支持 177
5.3.3 ICMP协议支持 179
5.4 传输层支持 189
5.4.1 TCP协议支持 189
5.4.2 UDP协议支持 198
第6章 网络监听技术——网管角度 201
6.1 监听概述 201
6.2 监听的实施 202
6.2.1 广播式以太网 202
6.2.2 交换式以太网 203
6.3 监听预防 208
6.4 几种常见的监听工具介绍 209
第7章 监听防范 218
7.1 局域网内的防护 218
7.1.1 通信线路的保护 218
7.1.2 计算机防电磁泄漏 218
7.1.3 访问控制 219
7.1.4 使用安全的网络结构 222
7.1.5 针对ARP欺骗的防范技术 223
7.1.6 WinNT/2K的安全简介 223
7.2 对外部网络的防护 228
7.2.1 防火墙技术 228
7.2.2 虚拟专网(VPN)技术 230
7.3 平台漏洞及其补救措施举例 234
第8章 监听检测 238
8.1 监听检测的原理 238
8.1.1 广播式以太网中的监听检测 238
8.1.2 交换式以太网中的监听检测 239
8.2 木马病毒的检测与清除 240
8.2.1 木马病毒原理及特点简述 240
8.2.2 木马病毒的检测与清除 241
8.2.3 常见木马病毒的检测与清除 242
8.3 监听检测工具AntiSniff 247
第9章 信息加密与保护 251
9.1 密码学概论 251
9.1.1 密码学常用术语 251
9.1.2 单向散列函数 252
9.1.3 对称密码 253
9.1.4 非对称密码 255
9.1.5 密钥的管理 256
9.1.6 加密技术的应用 257
9.2 安全算法设计:对称密码技术与DES算法 259
9.2.1 原理与设计 260
9.2.2 处理密钥 260
9.2.3 处理64位数据块 261
9.2.4 关于解密 267
9.2.5 程序总括 267
9.2.6 DES算法源程序 268
9.2.7 DES安全性分析 282
9.3 安全算法设计:非对称密码技术与RSA算法 285
9.3.1 RSA算法设计 285
9.3.2 RSA算法源程序 288
9.3.3 RSA算法安全性分析 309
9.4 安全协议:安全套接层(SSL)协议 312
9.4.1 安全协议概述 312
9.4.2 SSL协议的起源 315
9.4.3 SSL协议概述 315
9.4.4 协议规范 315
9.4.5 相关技术 319
第10章 实例学习 321
10.1 利用WinpCap捕获局域网数据帧 321
10.1.1 WinpCap使用说明 321
10.1.2 示例代码 322
10.2 利用WinSock的新特性捕获Windows2000下IP数据分组 325
10.2.1 原理简述 325
10.2.2 示例代码 325
10.3 Windows 2000下简单的IP监听程序 327
10.3.1 封装进行数据捕获操作的工作者线程的CListener类 328
10.3.2 主界面对话框类 332
10.3.3 简单IP地址过滤 337
10.4 组建一个安全的子网 338
10.5 简单的监听检测程序 338
10.6 设计Windows 98/2000下的简单邮件加密程序 343
10.6.1 整体结构 343
10.6.2 BASE64编解码 344
10.6.3 程序源码 344
第11章 一个完善的监听/监听检测实例 356
11.1 功能概述及运行一览 356
11.1.1 功能概述 356
11.1.2 运行情况 356
11.1.3 程序的编译与安装 358
11.2 总体设计 358
11.3 界面设计 358
11.3.1 主界面设计 360
11.3.2 过滤器设置界面 378
11.4 数据包的捕获与过滤 384
11.4.1 数据捕获驱动程序 384
11.4.2 数据的过滤 402
11.5 监听检测 405
11.6 数据解码与显示 413
11.7 数据存储与加载 414
11.8 捕获示例 417