第1章 网络安全基础概述 1
1.1 基本概念和常用网络命令 1
1.1.1 基本概念 1
1.1.2 常用网络命令的使用 1
1.2 虚拟机技术 4
1.3 网络协议的层次结构 7
1.4 协议分析仪Sniffer Pro的使用 9
思考题 15
第2章 数据链路层及其安全问题 16
2.1 以太网数据链路层帧格式 16
2.2 交换机的地址学习机制 17
2.2.1 交换机的地址学习过程 17
2.2.2 测试交换机的MAC地址学习机制 19
2.3 MAC-PORT攻击 21
2.3.1 MAC-PORT攻击原理 21
2.3.2 测试MAC-PORT地址攻击 22
2.4 生成树机制 25
2.4.1 冗余链路 25
2.4.2 重复帧、循环问题和MAC地址表不稳定问题 26
2.4.3 生成树 29
2.4.4 测试生成树机制 31
2.5 生成树攻击 34
2.5.1 利用生成树攻击达到使网络拓扑不稳定和拒绝服务的攻击效果 34
2.5.2 测试生成树攻击 36
2.5.3 利用生成树攻击实施数据监听 39
2.5.4 模拟利用生成树攻击实施的数据监听 40
2.6 MAC地址攻击 44
思考题 45
第3章 IP协议及其安全问题 46
3.1 IP地址 46
3.2 IP协议 46
3.2.1 IP数据报格式 47
3.2.2 IP数据报的分片和重组 48
3.3 泪滴攻击 51
3.4 网络地址转换 52
3.4.1 专用地址 52
3.4.2 网络地址转换概述 53
3.4.3 同时使用IP地址和端口号 53
3.4.4 利用静态NAT实现因特网主机访问局域网服务器 56
3.5 网络层的安全协议IPSec 57
3.5.1 测试开通IPSec通道、采用AH协议、提供完整性校验 58
3.5.2 测试开通IPSec通道、选择ESP、提供完整性 61
3.5.3 测试开通IPSec通道、选择ESP、提供保密性和完整性 62
思考题 63
第4章 ARP及ARP欺骗 65
4.1 地址解析协议ARP 65
4.2 ARP数据报的格式 66
4.3 ARP缓存表 69
4.4 ARP欺骗 70
4.5 基于ARP欺骗的“中间人”攻击 75
4.5.1 “中间人”攻击简介 75
4.5.2 测试“中间人”攻击 75
4.6 利用网关实施的ARP欺骗 81
4.7 针对网关实施half ARP spoof攻击 85
4.7.1 针对网关实施half ARP spoof攻击的基本原理 85
4.7.2 针对网关实施half ARP spoof攻击的危害 86
4.7.3 half ARP spoof攻击测试 90
4.8 ARP欺骗攻击者的调查方法 95
4.9 基于ARP欺骗的网站挂马测试 96
4.9.1 基于ARP欺骗的网站挂马简介 96
4.9.2 测试环境和测试目的 96
4.9.3 测试步骤 97
4.10 基于ARP欺骗的DNS欺骗 105
4.10.1 域名 105
4.10.2 域名解析过程 105
4.10.3 hosts文件及其安全隐患 106
4.10.4 配置DNS服务器 107
4.10.5 DNS缓存表 110
4.10.6 DNS报文分析 110
4.10.7 基于ARP欺骗的DNS欺骗测试 111
思考题 120
第5章 RIP及其安全问题 121
5.1 路由器的工作原理 121
5.1.1 路由表的组成 121
5.1.2 路由器转发数据报的工作流程 122
5.1.3 路由协议 123
5.2 路由选择信息协议 124
5.2.1 RIP选择的是经过最少路由器的路由 124
5.2.2 RIP使用的路由表 124
5.2.3 RIP的三个特点 125
5.3 Bellman-Ford算法生成路由表 125
5.4 RIP形成路由表的过程 127
5.5 当网络拓扑变化时RIP调整路由表的过程 130
5.6 利用RIP组建网络 132
5.7 RIP数据报的格式 135
5.8 RIP路由欺骗 136
5.8.1 基于RIP欺骗的“中间人”攻击 136
5.8.2 “黑洞”攻击 137
5.9 基于RIP路由欺骗的网络监听 139
5.9.1 测试环境 139
5.9.2 测试目的 139
5.9.3 测试步骤 139
5.10 RIP的优缺点 145
思考题 145
第6章 OSPF协议及其安全问题 146
6.1 开放式最短路径优先 146
6.1.1 Dijkstra算法 146
6.1.2 使用OSPF协议组建网络 147
6.2 基于OSPF路由欺骗的网络监听 152
6.2.1 OSPF路由欺骗研究环境 152
6.2.2 攻击者发布伪造的链路状态通告报文 153
6.2.3 路由器应用Dijkstra算法更新自己的路由表 154
6.3 基于OSPF路由欺骗的“黑洞攻击” 156
6.3.1 “黑洞攻击”的基本原理 156
6.3.2 利用“黑洞攻击”截获敏感信息 159
6.3.3 利用“黑洞攻击”进行木马植入 160
6.3.4 通过实验验证“黑洞攻击” 161
6.4 基于数据链路状态数据库的网络拓扑绘制 168
6.4.1 区域内网络拓扑主动发现方法 168
6.4.2 数据链路类型 168
6.4.3 根据链路数据库绘制网络拓扑 169
6.4.4 通过实验验证主动的网络拓扑绘制方法 170
思考题 178
第7章 ICMP及其安全问题 179
7.1 ICMP报文的类型 179
7.2 计算机的路由表 179
7.2.1 计算机路由表的作用 179
7.2.2 计算机路由表测试实验 179
7.3 ICMP重定向 182
7.3.1 ICMP重定向过程 182
7.3.2 ICMP重定向报文结构 183
7.3.3 ICMP重定向测试实验 184
7.4 基于ICMP重定向的“半中间人”攻击 186
7.4.1 基于ICMP重定向的“半中间人”攻击过程 186
7.4.2 伪造的ICMP重定向报文结构分析 187
7.4.3 利用“ICMP重定向攻击”实施数据监听实验 188
7.5 基于DNS协议和ICMP重定向的数据监听方法 192
7.5.1 基于DNS协议和ICMP重定向的数据监听流程 193
7.5.2 通过ICMP重定向在受害者主机中添加到达DNS服务器的路由信息 193
7.5.3 截获并转发DNS数据报 194
7.5.4 监听通信数据、提取敏感信息 196
7.6 基于DNS协议和ICMP重定向的数据监听实验 197
7.6.1 测试环境 197
7.6.2 测试目的 197
7.6.3 测试步骤 197
思考题 205
第8章 运输层协议及其安全问题 206
8.1 运输层协议概述 206
8.2 用户数据报协议 209
8.2.1 UDP概述 209
8.2.2 UDP用户数据报的首部 209
8.3 传输控制协议 210
8.3.1 TCP概述 210
8.3.2 TCP报文段的首部 211
8.3.3 利用Sniffer分析三次握手建立TCP连接 214
8.3.4 利用Sniffer分析四次挥手释放TCP连接 216
8.4 端口扫描 219
8.4.1 TCP端口扫描 220
8.4.2 UDP端口扫描 226
8.5 SYN Flood攻击和Land攻击 228
思考题 228
第9章 SMTP/POP3及DNS协议 229
9.1 邮件协议概述 229
9.2 搭建电子邮件服务器 230
9.3 利用Sniffer学习发送邮件的通信过程 233
9.4 利用Sniffer学习接收邮件的通信过程 241
9.5 利用Sniffer追查盗号木马线索 243
9.6 因特网的域名结构 245
9.7 域名服务器进行域名解析 246
9.8 DNS欺骗 249
思考题 250
第10章 HTTP及其安全问题 251
10.1 HTTP的工作流程 251
10.2 HTTP的报文格式 253
10.3 HTTP使用GET、POST和Cookie方式提交数据 256
10.3.1 GET方式提交参数 256
10.3.2 POST方式提交参数 258
10.3.3 Cookie方式提交参数 258
10.4 HTTP的缓存机制 261
10.5 HTTP数据加密协议SSL 265
10.5.1 数字证书 265
10.5.2 CA认证中心颁发数字证书 266
10.5.3 数字证书的真实性验证 266
10.5.4 数字证书使用的SSL协议 267
10.5.5 配置只使用服务器证书的SSL加密通道 268
10.5.6 配置同时使用服务器证书和客户证书的SSL加密通道 276
思考题 280
第11章 FTP及其安全问题 281
11.1 FTP服务器的搭建和使用 281
11.2 FTP使用两条逻辑连接 283
11.3 控制连接和数据连接的建立过程 284
11.3.1 控制连接的建立 284
11.3.2 服务器主动方式建立数据连接(PORT方式) 284
11.3.3 客户主动方式建立数据连接(PASV方式) 285
11.4 FTP的数据传送过程 286
11.4.1 目录数据的传送过程 286
11.4.2 文件数据的传送过程 287
11.5 利用Sniffer分析FTP的通信过程 288
11.6 测试防火墙对FTP数据通信的影响 291
11.6.1 开启FTP服务器端的防火墙并允许21端口、测试FTP数据通信 291
11.6.2 禁用FTP服务器的PASV功能,测试FTP通信能否进行 293
思考题 294