第1章 网络概述 1
1.1 网络与黑客的历史 1
1.1.1 网络的历史 1
1.1.2 黑客的历史 3
1.2 OSI模型 4
1.2.1 模型 4
1.2.2 OSI安全服务 6
1.3 TCP/IP概貌 7
1.3.1 ICP层 9
1.3.2 IP层 11
1.3.3 以太网(Ethernet)层 12
1.4 UDP和ICMP协议 13
1.5 路由(Routing) 14
1.6 端口号 15
1.7 数据包的分离和重新组装 15
1.8 以太网封装——地址解析协议(ARP) 16
1.9 TCP/IP协议安全性能的改进 17
1.9.1 TCP状态转移图和定时器 17
1.9.2 网络入侵方式 18
1.9.3 利用网络监控设备观测网络入侵 20
1.10 本章小结 21
2.1 什么是套接字 23
第2章 Visual C++编程基础 23
2.2 Socket模式 24
2.2.1 Berkeley Socket 24
2.2.2 Winsock 29
2.2.3 程序举例——简单扫描器 39
2.3 MFC的Winsock编程 40
2.3.1 MFC网络编程概述 40
2.3.2 CASynCSocket类和CSocket类 41
2.3.3 CAsyncSocket类和CSocket类的成员函数和变量 46
2.4 WinInet类 48
2.4.1 MFCWinInet类 49
2.4.2 WinInet实例 50
2.5 虚拟内存编程控制 68
2.5.1 虚拟内存概述 68
2.5.2 Windows 9x中的虚拟内存 69
2.5.3 Windows2000虚拟内存 71
2.5.4 Windows2000虚拟内存编程控制 73
2.6 本章小结 78
第3章 攻击工具及典型代码分析 79
3.1 网络攻击综述 79
3.1.1 准备阶段 79
3.1.2 实施阶段 79
3.1.3 善后处理阶段 79
3.2.1 攻击原理 80
3.2 扫描器(Sniffer) 80
3.2.2 nmap实例 81
3.2.3 常用程序介绍 84
3.2.4 典型代码分析 86
3.3 网络监听——嗅探器(Sniffer) 89
3.3.1 攻击原理 89
3.3.2 怎样发现嗅探器 91
3.3.3 Sniffe实例 91
3.3.4 常用程序介绍 96
3.3.5 典型代码分析 97
3.3.6 防范措施 99
3.4.1 口令攻击原理 101
3.4 口令攻击器 101
3.4.2 口令攻击实例 103
3.4.3 常用程序介绍 108
3.4.4 典型代码分析 109
3.4.5 防范措施 117
3.5 特洛伊木马 119
3.5.1 木马的攻击原理 119
3.5.2 Subseven实例 121
3.5.3 常用程序介绍 126
3.5.4 典型代码分析 128
3.5.5 防范措施 133
3.6.1 网络炸弹的原理 135
3.6 网络炸弹 135
3.6.2 网络炸弹的实例 136
3.6.3 网络炸弹的防范 142
3.6.4 网页炸弹 144
3.7 ASP攻击 146
3.7.1 引言 146
3.7.2 ASP漏洞集锦 147
3.8 本章小结 154
第4章 黑客攻击的常用方法剖析 155
4.1 缓冲区溢出 155
4.1.1 基本原理 155
4.1.2 缓冲区溢出攻击代码分析 158
4.2.1 IP攻击 160
4.2 欺骗攻击 160
4.2.2 DNS欺骗 163
4.2.3 Web欺骗 165
4.3 利用后门攻击综述 169
4.3.1 UNIX系统中存在的后门 170
4.3.2 系统后门的解决方案 173
4.4 经典入侵过程 174
4.4.1 米特尼克利用IP欺骗攻破SanDiego计算中心 174
4.4.2 一次入侵Windows2000Server的全过程 179
4.5 本章小结 181
5.1.1 病毒简史 183
5.1 病毒概述 183
第5章 病毒原理、源代码分析及对策 183
5.1.2 病毒定义 184
5.1.3 病毒的特征 184
5.1.4 病毒的分类 185
5.1.5 病毒的防治 186
5.2 CIH病毒 187
5.2.1 CIH病毒的侵害原理 187
5.2.2 CIH病毒源代码分析 189
5.2.3 CIH病毒查杀手段 197
5.3 红色代码(CodeRed) 198
5.3.1 红色代码的侵害原理 198
5.3.2 CodeRedⅢ源代码分析 200
5.3.3 红色代码3的清除 203
5.4 尼姆达(Nimda)病毒 204
5.4.1 尼姆达病毒的侵害原理 204
5.4.2 尼姆达病毒的源代码分析 205
5.4.3 尼姆达病毒的查杀手段 211
5.5 “爱虫”病毒 212
5.5.1 “爱虫”病毒侵害原理 213
5.5.2 “爱虫”病毒源代码分析 213
5.5.3 “爱虫”病毒源代码 217
5.5.4 绝杀“爱虫”病毒 217
5.6 本章小结 218
6.1.1 Windows9x远程漏洞发掘 219
第6章 操作系统的安全漏洞 219
6.1 Windows操作系统 219
6.1.2 Windows9x的本地漏洞发掘 222
6.1.3 Windows千年版(Me) 227
6.1.4 小结 228
6.2 Windows2000/NT 228
6.2.1 Windows2000漏洞 228
6.2.2 Windows2000Server的安全配置 241
6.2.3 WindowsNT系统安全 246
6.2.4 用户管理安全 250
6.2.5 WindowsNT服务器的安全维护 252
6.3.1 系统的安全管理 260
6.3 UNIX系统的安全 260
6.3.2 用户的安全管理 281
6.3.3 通用UNIX系统安全检查列表 286
6.4 本章小结 293
第7章 数据加密 295
7.1 密码学概述 295
7.1.1 为什么要进行数据加密 295
7.1.2 什么是数据加密 295
7.1.3 加密的原理 296
7.1.4 加密技术及密码分析 297
7.2.2 DES算法 303
7.2.1 对称密钥密码学简介 303
7.2 对称秘钥算法 303
7.2.3 IDEA加密算法 307
7.2.4 对称密钥加密模式 308
7.3 非对称密钥密码系统 310
7.3.1 非对称密钥密码概论 311
7.3.2 RSA非对称密钥密码技术 312
7.3.3 DSA数字签名技术 314
7.3.4 Difnie-Hellman密钥交换系统 316
7.3.5 单向杂凑函数 317
7.4.1 PGP简介 332
7.4 广泛应用的PGP 332
7.4.2 PGP的安全性问题 335
7.5 本章小结 342
第8章 远程控制技术原理与编程实现 343
8.1 远程控制技术原理 343
8.1.1 引言 343
8.1.2 远程控制技术原理 344
8.1.3 远程唤醒 344
8.2 客户/服务器 345
8.2.1 引言 345
8.2.2 客户与服务器的特性 345
8.2.3 客户/服务器原理 346
8.3.1 程序的核心技术 349
8.3 一个简单的客户服务器程序 349
8.3.2 源程序 352
8.3.3 演示程序结果 360
8.4 作为木马的远程控制程序 361
8.4.1 木马的自启动方式 362
8.4.2 木马的隐藏方式 364
8.5 远程控制编程 369
8.5.1 实现远程关机 370
8.5.2 添加系统文件 374
8.5.3 改写注册表 376
8.6 本章小结 387
9.2 技术途径 389
9.2.1 收集信息 389
第9章 网络入侵检测 389
9.1 概念定义与功能描述 389
9.2.2 数据分析 390
9.3 入侵检测的分类 392
9.3.1 按检测技术分类 392
9.3.2 按输入数据的来源分类 392
9.3.3 按检测行为分类 392
9.4 入侵检测的评估 393
9.5 入侵检测的产品 394
9.6 问题与发展 395
9.7 本章小结 397