书籍详情
Windows信息安全和网络攻防
作者:蔡冰
出版社:清华大学出版社
出版时间:2023-07-01
ISBN:9787302628781
定价:¥109.00
购买这本书可以去
内容简介
"《Windows信息安全和网络攻防》以信息技术(IT)企业的实际用人要求为导向,总结笔者在网络安全行业十多年的经验编写而成。《Windows信息安全和网络攻防》共11章,内容包括TCP/IP基础、搭建网络攻防实验环境、网络攻防和网络命令、木马技术研究、踩点与网络扫描、Windows应用层软件漏洞分析、Windows内核编程、安全网络通信、SSL-TLS编程、IPv6网络渗透测试、网络安全抓包WinPcap编程。 《Windows信息安全和网络攻防》内容紧凑翔实、语言简练、实用性强,可作为网络系统运维人员工作和学习的参考用书,也可作为高等院校计算机相关专业的教材。"
作者简介
作者拥有10多年一线网络和信息安全开发经验,主导开发过密码、图形、人工智能等产品。精通Linux、Windows系统开发及数据库开发技术。著有图书《Linux信息安全与网络渗透》《Windows C/C 加密解密实战》《密码学原理与Java实现》《Linux C与C 一线开发实践》。
目录
第1章 TCP/IP基础 1
1.1 什么是TCP/IP 1
1.2 TCP/IP的分层结构 1
1.3 应用层 6
1.3.1 DNS 6
1.3.2 端口 6
1.4 传输层 7
1.4.1 TCP 7
1.4.2 UDP 8
1.5 网络层 8
1.5.1 IP 8
1.5.2 ARP 14
1.5.3 RARP 16
1.5.4 ICMP 16
1.6 网络接口层 25
1.6.1 网络接口层的基本概念 25
1.6.2 网络接口层的主要功能 26
1.7 TCP/IP的安全性研究 27
第2章 搭建网络攻防实验环境 29
2.1 准备虚拟机环境 29
2.1.1 在VMware下安装Windows 7系统 29
2.1.2 开启root账户 33
2.1.3 关闭防火墙 34
2.1.4 配置安装源 34
2.1.5 安装网络工具包 35
2.1.6 启用SSH 36
2.1.7 快照功能 37
2.1.8 宿主机连接虚拟机 37
2.1.9 和虚拟机互传文件 51
2.2 编程利器Visual C 2017 51
2.2.1 安装Visual C 2017及其“帮助”文档 52
2.2.2 认识Visual C 2017集成开发环境 53
第3章 网络攻防和网络命令 59
3.1 网络攻击 60
3.1.1 攻击技术的特征 60
3.1.2 网络攻击的种类 61
3.1.3 黑客常用的攻击手段 61
3.2 网络防御研究 62
3.2.1 防御模型 62
3.2.2 防御体系 63
3.2.3 防御原则 64
3.3 防御关键技术 65
3.3.1 陷阱技术 65
3.3.2 隔离技术 66
3.4 黑客远程攻击的基本步骤 68
3.4.1 隐藏IP 68
3.4.2 黑客踩点与扫描 68
3.4.3 获取权限 69
3.4.4 远程控制 69
3.5 防范远程攻击的基本步骤 69
3.5.1 网络隐身及安全接入 70
3.5.2 保护系统权限 70
3.5.3 杀毒防毒 70
3.6 基本的网络命令 70
3.6.1 获取本地主机的IP地址 71
3.6.2 探测其他主机的IP地址 72
3.6.3 检测网络的连通情况 73
3.6.4 和账户有关的命令 75
第4章 木马技术研究 79
4.1 木马的概念 80
4.1.1 木马的定义 80
4.1.2 木马的产生 81
4.1.3 木马的分类 81
4.1.4 木马的发展历程 82
4.1.5 木马的发展趋势 83
4.2 木马的工作原理及其技术分析 84
4.2.1 基本工作原理 84
4.2.2 木马的植入技术 84
4.2.3 木马的自启动技术 85
4.2.4 木马的隐藏技术 85
4.2.5 木马的通信技术 87
4.3 木马检测技术 89
4.3.1 特征码技术 89
4.3.2 虚拟机技术 90
4.3.3 启发式技术 90
4.4 获取本地计算机的名称和IP 92
4.4.1 gethostname函数 92
4.4.2 gethostbyname函数 92
4.4.3 inet_ntoa函数 93
4.5 获取本机子网IP地址和子网掩码 95
4.6 获取本机物理网卡地址信息 97
4.7 获取本机所有网卡(包括虚拟网卡)的列表和信息 99
4.8 获取本地计算机的IP统计数据 102
4.9 获取本机的DNS地址 105
4.10 获取本机的TCP统计数据 106
4.11 获取本机的UDP统计数据 109
4.12 获取本机支持的网络协议信息 110
4.13 获取本地计算机的域名 112
4.14 综合案例:实现一个木马 113
第5章 踩点与网络扫描 136
5.1 踩点 136
5.1.1 什么是踩点 136
5.1.2 踩点的目标 136
5.2 扫描前先隐藏自己 137
5.3 扫描概述 138
5.4 端口扫描的相关知识 138
5.4.1 端口 138
5.4.2 TCP三次握手过程 139
5.4.3 端口扫描 139
5.5 操作系统识别技术 141
5.6 与扫描相关的几个网络命令 142
5.6.1 测试物理网络的ping命令 142
5.6.2 识别目标操作系统类型 143
5.6.3 查看网络连接和端口的netstat命令 144
5.7 Nmap扫描器 145
5.7.1 Nmap所涉及的相关技术 146
5.7.2 Nmap的下载和安装 146
5.7.3 Nmap的主要扫描类型 148
5.7.4 Nmap的使用实例 149
5.8 原始套接字编程 153
5.8.1 原始套接字概述 153
5.8.2 原始套接字的强大功能 153
5.8.3 原始套接字的基本编程步骤 154
5.8.4 常规编程示例 158
5.8.5 网络嗅探器的实现 165
5.8.6 嗅探网络中的密码 170
第6章 Windows应用层软件漏洞分析 175
6.1 漏洞的基本概念 176
6.2 漏洞产生的原因 177
6.3 漏洞的分类 177
6.4 漏洞扫描原理和关键技术 178
6.4.1 模拟攻击技术 178
6.4.2 插件技术 179
6.5 Windows平台下的应用漏洞概述 180
6.6 缓冲区溢出漏洞 180
6.6.1 缓冲区溢出漏洞成因分析 181
6.6.2 缓冲区溢出漏洞利用 183
6.7 堆/栈溢出漏洞 185
6.8 格式化字符串漏洞 185
6.9 SQL注入漏洞 189
6.9.1 SQL注入漏洞成因分析 189
6.9.2 SQL注入漏洞利用 189
6.10 XSS跨站脚本漏洞 190
第7章 Windows内核编程 192
7.1 Windows驱动的发展历程 192
7.2 Windows操作系统 193
7.3 WDF的基本概念 194
7.4 WDF的基本结构 195
7.4.1 基本对象 195
7.4.2 WDF的层次结构 196
7.4.3 WDF的重要函数 197
7.4.4 I/O 请求包 197
7.5 驱动程序的开发环境 198
7.5.1 开发工具的选择 198
7.5.2 安装WDK 199
7.5.3 框架自动生成的WDK程序 202
7.5.4 控制设备 207
7.5.5 创建控制设备的WDK驱动 209
7.5.6 在Windows 7中加载驱动 219
7.5.7 在Windows 10中加载驱动 221
第8章 安全网络通信 224
8.1 对称加密算法 224
8.2 流加密算法 225
8.2.1 基本概念 225
8.2.2 流密码和分组密码的比较 226
8.2.3 RC4算法 226
8.3 分组加密算法 234
8.3.1 工作模式 234
8.3.2 短块加密 239
8.3.3 DES和3DES算法 239
8.3.4 SM4算法 255
8.4 TCP套接字编程的基本步骤 271
8.5 协议族和地址族 272
8.6 socket地址 274
8.6.1 通用socket地址 274
8.6.2 专用socket地址 275
8.6.3 IP地址转换 276
8.6.4 获取套接字地址 278
8.7 MFC套接字编程 280
8.8 CAsyncSocket类 280
8.8.1 基本概念 280
8.8.2 成员函数 280
8.8.3 基本用法 285
8.8.4 网络事件处理 286
8.9 CSocket类 295
8.9.1 基本概念 295
8.9.2 成员函数 295
8.9.3 基本用法 296
第9章 SSL-TLS编程 306
9.1 SSL协议规范 306
9.1.1 什么是SSL协议 306
9.1.2 SSL协议的优点 307
9.1.3 SSL协议的发展 307
9.1.4 SSL v3/TLS提供的服务 307
9.1.5 SSL协议层次结构模型 308
9.1.6 SSL记录层协议 308
9.1.7 SSL握手协议层 310
9.2 C/C 密码库OpenSSL 313
9.2.1 OpenSSL源码模块结构 314
9.2.2 OpenSSL加密库调用方式 314
9.2.3 OpenSSL支持的对称加密算法 315
9.2.4 OpenSSL支持的非对称加密算法 316
9.2.5 OpenSSL支持的信息摘要算法 316
9.2.6 OpenSSL密钥和证书管理 316
9.2.7 面向对象与OpenSSL 316
9.2.8 BIO接口 318
9.2.9 EVP接口 319
9.3 在Windows下编译OpenSSL 1.0.2m 319
9.3.1 安装ActivePerl解释器 320
9.3.2 不指定生成目录的32位Release版本动态库的编译 321
9.4 OpenSSL中的SSL编程 328
9.5 SSL函数 329
9.5.1 初始化SSL算法库:SSL_library_init 329
9.5.2 初始化SSL上下文环境变量:SSL_CTX_new 329
9.5.3 释放SSL上下文环境变量:SSL_CTX_free 330
9.5.4 文件形式设置SSL证书:SSL_CTX _use_certificate_file 330
9.5.5 结构体方式设置SSL证书:SSL_CTX_use_certificate 330
9.5.6 文件形式设置SSL私钥:SSL_CTX_use_PrivateKey_file 330
9.5.7 结构体方式设置SSL私钥:SSL_CTX_use_PrivateKey 330
9.5.8 检查SSL私钥和证书是否匹配:SSL_CTX_check_private_key 331
9.5.9 创建SSL结构:SSL_new 331
9.5.10 释放SSL套接字结构体:SSL_free 331
9.5.11 设置读写套接字:SSL_set_fd 331
9.5.12 设置只读套接字:SSL_set_rfd 331
9.5.13 设置只写套接字:SSL_set_wfd 332
9.5.14 启动TLS/SSL握手:SSL_connect 332
9.5.15 接受SSL连接:SSL_accept 332
9.5.16 获取对方的X509证书:SSL_get_peer_certificate 332
9.5.17 向TLS/SSL连接写数据:SSL_write 333
9.5.18 从TLS/SSL连接上读取数据:SSL_read 333
9.6 准备SSL通信所需的证书 333
9.6.1 准备实验环境 333
9.6.2 熟悉CA环境 334
9.6.3 创建所需要的文件 334
9.6.4 创建(CA)根证书 334
9.6.5 生成服务器端的证书请求文件 335
9.6.6 签发服务器端证书 336
9.6.7 生成客户端的证书请求文件 337
9.6.8 签发客户端证书 338
9.7 实战SSL网络编程 338
第10章 IPv6网络渗透测试 347
10.1 IPv4的现状和不足 347
10.1.1 地址空间、地址方案与选路的问题 348
10.1.2 网络管理与配置的问题 352
10.1.3 服务类型问题 353
10.1.4 IP选项问题 353
10.1.5 IPv4的安全性问题 354
10.1.6 是增加补丁还是彻底升级改进 354
10.2 IPv6概述 355
10.2.1 IPv6的特点 355
10.2.2 IPv6地址表示方法 356
10.2.3 IPv6 前缀 357
10.2.4 IPv6地址的类型 357
10.2.5 IPv6数据报格式 361
10.2.6 IPv6的安全问题 365
10.2.7 IPv6的发展 366
10.2.8 ICMPv6分析 366
10.2.9 邻居发现协议 367
10.2.10 多播侦听发现 368
10.2.11 IPv6地址自动配置 369
10.2.12 IPv6的过渡共存机制 369
10.2.13 隧道机制 370
10.2.14 基于网络渗透测试的脆弱性分析方法 370
10.3 基于IPv6的 Socket网络编程技术 371
10.3.1 地址表示 371
10.3.2 IPv6的Socket API函数 372
10.3.3 在IPv6下编写应用程序的注意事项 372
10.3.4 实战IPv6 373
10.4 IPv6自身安全问题 379
10.4.1 IPv6自身存在的安全问题 380
10.4.2 选路头引起的安全问题 380
10.4.3 误用站点多播地址导致的安全问题 381
10.4.4 ICMPv6和多播地址结合使用存在的安全问题 381
10.4.5 在ICMPv6错误消息中伪造错误数据引起的安全问题 382
10.4.6 伪造链路前缀引起的拒绝服务 382
10.4.7 任播流量识别和安全 382
10.4.8 IPv6私密性扩展和分布式拒绝服务攻击 382
10.4.9 无状态地址自动配置的安全隐患 382
10.4.10 分片相关的拒绝服务攻击 383
10.4.11 IPv6邻居发现协议存在的安全隐患 383
10.4.12 伪造地址配置前缀 384
10.4.13 参数欺骗 384
10.5 IPv6 过渡期间存在的安全问题 384
10.5.1 双栈环境中的安全问题 385
10.5.2 自动隧道终点带来的安全问题 386
10.5.3 6to4隧道终点引入的IP地址欺骗问题 386
10.5.4 ISATAP隧道引入的分布式拒绝服务问题 387
10.5.5 在自动隧道中利用选路头产生反射攻击 387
10.5.6 依托6to4机制攻击IPv6网络中的主机 388
10.6 IPv6网络渗透测试存在的问题 389
10.6.1 网络扫描 389
10.6.2 非法访问 389
10.6.3 伪造报头和数据分片 390
10.6.4 网络层和应用层欺骗 390
10.6.5 ARP和DHCP 390
10.6.6 Smurf攻击在IPv6网络中的影响 391
10.6.7 嗅探 391
10.6.8 欺诈设备 391
10.6.9 中间人攻击 391
10.7 IPv6网络扫描技术研究 391
10.7.1 减少寻址空间 392
10.7.2 针对节点和路由器必需的IPv6地址 392
10.7.3 ping网段中的组播公共地址 392
10.7.4 利用无状态地址自动配置的漏洞获得在线主机IP地址 393
10.7.5 扫描隧道端点地址 393
10.7.6 IPv6网络扫描方法 393
10.8 IPv6邻居发现机制脆弱性分析 394
10.8.1 伪造路由公告消息 394
10.8.2 重复地址引入的安全问题 395
10.8.3 路由器公告报文中的当前跳数限制字段问题 396
第11章 网络安全抓包WinPcap编程 397
11.1 WinPcap的历史 397
11.2 WinPcap的功能 397
11.3 WinPcap的应用领域 398
11.4 WinPcap不能做什么 399
11.5 WinPcap的组成结构 399
11.6 WinPcap内核层NPF 400
11.7 WinPcap的数据结构和主要功能函数 401
11.7.1 网络接口地址 401
11.7.2 数据报头的格式 401
11.7.3 PCAP文件格式 402
11.7.4 获取网卡列表:pcap_findalldevs 402
11.7.5 释放空间:pcap_freealldevs 404
11.7.6 打开网络设备:pcap_open_live 404
11.7.7 捕获数据包:pcap_loop 404
11.7.8 捕获数据包:pcap_dispatch 405
11.7.9 捕获数据包:pcap_next_ex 406
11.8 搭建WinPcap的开发环境 406
11.8.1 WinPcap通信库的安装 406
11.8.2 准备开发包 408
11.8.3 第一个WinPcap应用程序 409
11.8.4 捕获访问Web站点的数据包 410
1.1 什么是TCP/IP 1
1.2 TCP/IP的分层结构 1
1.3 应用层 6
1.3.1 DNS 6
1.3.2 端口 6
1.4 传输层 7
1.4.1 TCP 7
1.4.2 UDP 8
1.5 网络层 8
1.5.1 IP 8
1.5.2 ARP 14
1.5.3 RARP 16
1.5.4 ICMP 16
1.6 网络接口层 25
1.6.1 网络接口层的基本概念 25
1.6.2 网络接口层的主要功能 26
1.7 TCP/IP的安全性研究 27
第2章 搭建网络攻防实验环境 29
2.1 准备虚拟机环境 29
2.1.1 在VMware下安装Windows 7系统 29
2.1.2 开启root账户 33
2.1.3 关闭防火墙 34
2.1.4 配置安装源 34
2.1.5 安装网络工具包 35
2.1.6 启用SSH 36
2.1.7 快照功能 37
2.1.8 宿主机连接虚拟机 37
2.1.9 和虚拟机互传文件 51
2.2 编程利器Visual C 2017 51
2.2.1 安装Visual C 2017及其“帮助”文档 52
2.2.2 认识Visual C 2017集成开发环境 53
第3章 网络攻防和网络命令 59
3.1 网络攻击 60
3.1.1 攻击技术的特征 60
3.1.2 网络攻击的种类 61
3.1.3 黑客常用的攻击手段 61
3.2 网络防御研究 62
3.2.1 防御模型 62
3.2.2 防御体系 63
3.2.3 防御原则 64
3.3 防御关键技术 65
3.3.1 陷阱技术 65
3.3.2 隔离技术 66
3.4 黑客远程攻击的基本步骤 68
3.4.1 隐藏IP 68
3.4.2 黑客踩点与扫描 68
3.4.3 获取权限 69
3.4.4 远程控制 69
3.5 防范远程攻击的基本步骤 69
3.5.1 网络隐身及安全接入 70
3.5.2 保护系统权限 70
3.5.3 杀毒防毒 70
3.6 基本的网络命令 70
3.6.1 获取本地主机的IP地址 71
3.6.2 探测其他主机的IP地址 72
3.6.3 检测网络的连通情况 73
3.6.4 和账户有关的命令 75
第4章 木马技术研究 79
4.1 木马的概念 80
4.1.1 木马的定义 80
4.1.2 木马的产生 81
4.1.3 木马的分类 81
4.1.4 木马的发展历程 82
4.1.5 木马的发展趋势 83
4.2 木马的工作原理及其技术分析 84
4.2.1 基本工作原理 84
4.2.2 木马的植入技术 84
4.2.3 木马的自启动技术 85
4.2.4 木马的隐藏技术 85
4.2.5 木马的通信技术 87
4.3 木马检测技术 89
4.3.1 特征码技术 89
4.3.2 虚拟机技术 90
4.3.3 启发式技术 90
4.4 获取本地计算机的名称和IP 92
4.4.1 gethostname函数 92
4.4.2 gethostbyname函数 92
4.4.3 inet_ntoa函数 93
4.5 获取本机子网IP地址和子网掩码 95
4.6 获取本机物理网卡地址信息 97
4.7 获取本机所有网卡(包括虚拟网卡)的列表和信息 99
4.8 获取本地计算机的IP统计数据 102
4.9 获取本机的DNS地址 105
4.10 获取本机的TCP统计数据 106
4.11 获取本机的UDP统计数据 109
4.12 获取本机支持的网络协议信息 110
4.13 获取本地计算机的域名 112
4.14 综合案例:实现一个木马 113
第5章 踩点与网络扫描 136
5.1 踩点 136
5.1.1 什么是踩点 136
5.1.2 踩点的目标 136
5.2 扫描前先隐藏自己 137
5.3 扫描概述 138
5.4 端口扫描的相关知识 138
5.4.1 端口 138
5.4.2 TCP三次握手过程 139
5.4.3 端口扫描 139
5.5 操作系统识别技术 141
5.6 与扫描相关的几个网络命令 142
5.6.1 测试物理网络的ping命令 142
5.6.2 识别目标操作系统类型 143
5.6.3 查看网络连接和端口的netstat命令 144
5.7 Nmap扫描器 145
5.7.1 Nmap所涉及的相关技术 146
5.7.2 Nmap的下载和安装 146
5.7.3 Nmap的主要扫描类型 148
5.7.4 Nmap的使用实例 149
5.8 原始套接字编程 153
5.8.1 原始套接字概述 153
5.8.2 原始套接字的强大功能 153
5.8.3 原始套接字的基本编程步骤 154
5.8.4 常规编程示例 158
5.8.5 网络嗅探器的实现 165
5.8.6 嗅探网络中的密码 170
第6章 Windows应用层软件漏洞分析 175
6.1 漏洞的基本概念 176
6.2 漏洞产生的原因 177
6.3 漏洞的分类 177
6.4 漏洞扫描原理和关键技术 178
6.4.1 模拟攻击技术 178
6.4.2 插件技术 179
6.5 Windows平台下的应用漏洞概述 180
6.6 缓冲区溢出漏洞 180
6.6.1 缓冲区溢出漏洞成因分析 181
6.6.2 缓冲区溢出漏洞利用 183
6.7 堆/栈溢出漏洞 185
6.8 格式化字符串漏洞 185
6.9 SQL注入漏洞 189
6.9.1 SQL注入漏洞成因分析 189
6.9.2 SQL注入漏洞利用 189
6.10 XSS跨站脚本漏洞 190
第7章 Windows内核编程 192
7.1 Windows驱动的发展历程 192
7.2 Windows操作系统 193
7.3 WDF的基本概念 194
7.4 WDF的基本结构 195
7.4.1 基本对象 195
7.4.2 WDF的层次结构 196
7.4.3 WDF的重要函数 197
7.4.4 I/O 请求包 197
7.5 驱动程序的开发环境 198
7.5.1 开发工具的选择 198
7.5.2 安装WDK 199
7.5.3 框架自动生成的WDK程序 202
7.5.4 控制设备 207
7.5.5 创建控制设备的WDK驱动 209
7.5.6 在Windows 7中加载驱动 219
7.5.7 在Windows 10中加载驱动 221
第8章 安全网络通信 224
8.1 对称加密算法 224
8.2 流加密算法 225
8.2.1 基本概念 225
8.2.2 流密码和分组密码的比较 226
8.2.3 RC4算法 226
8.3 分组加密算法 234
8.3.1 工作模式 234
8.3.2 短块加密 239
8.3.3 DES和3DES算法 239
8.3.4 SM4算法 255
8.4 TCP套接字编程的基本步骤 271
8.5 协议族和地址族 272
8.6 socket地址 274
8.6.1 通用socket地址 274
8.6.2 专用socket地址 275
8.6.3 IP地址转换 276
8.6.4 获取套接字地址 278
8.7 MFC套接字编程 280
8.8 CAsyncSocket类 280
8.8.1 基本概念 280
8.8.2 成员函数 280
8.8.3 基本用法 285
8.8.4 网络事件处理 286
8.9 CSocket类 295
8.9.1 基本概念 295
8.9.2 成员函数 295
8.9.3 基本用法 296
第9章 SSL-TLS编程 306
9.1 SSL协议规范 306
9.1.1 什么是SSL协议 306
9.1.2 SSL协议的优点 307
9.1.3 SSL协议的发展 307
9.1.4 SSL v3/TLS提供的服务 307
9.1.5 SSL协议层次结构模型 308
9.1.6 SSL记录层协议 308
9.1.7 SSL握手协议层 310
9.2 C/C 密码库OpenSSL 313
9.2.1 OpenSSL源码模块结构 314
9.2.2 OpenSSL加密库调用方式 314
9.2.3 OpenSSL支持的对称加密算法 315
9.2.4 OpenSSL支持的非对称加密算法 316
9.2.5 OpenSSL支持的信息摘要算法 316
9.2.6 OpenSSL密钥和证书管理 316
9.2.7 面向对象与OpenSSL 316
9.2.8 BIO接口 318
9.2.9 EVP接口 319
9.3 在Windows下编译OpenSSL 1.0.2m 319
9.3.1 安装ActivePerl解释器 320
9.3.2 不指定生成目录的32位Release版本动态库的编译 321
9.4 OpenSSL中的SSL编程 328
9.5 SSL函数 329
9.5.1 初始化SSL算法库:SSL_library_init 329
9.5.2 初始化SSL上下文环境变量:SSL_CTX_new 329
9.5.3 释放SSL上下文环境变量:SSL_CTX_free 330
9.5.4 文件形式设置SSL证书:SSL_CTX _use_certificate_file 330
9.5.5 结构体方式设置SSL证书:SSL_CTX_use_certificate 330
9.5.6 文件形式设置SSL私钥:SSL_CTX_use_PrivateKey_file 330
9.5.7 结构体方式设置SSL私钥:SSL_CTX_use_PrivateKey 330
9.5.8 检查SSL私钥和证书是否匹配:SSL_CTX_check_private_key 331
9.5.9 创建SSL结构:SSL_new 331
9.5.10 释放SSL套接字结构体:SSL_free 331
9.5.11 设置读写套接字:SSL_set_fd 331
9.5.12 设置只读套接字:SSL_set_rfd 331
9.5.13 设置只写套接字:SSL_set_wfd 332
9.5.14 启动TLS/SSL握手:SSL_connect 332
9.5.15 接受SSL连接:SSL_accept 332
9.5.16 获取对方的X509证书:SSL_get_peer_certificate 332
9.5.17 向TLS/SSL连接写数据:SSL_write 333
9.5.18 从TLS/SSL连接上读取数据:SSL_read 333
9.6 准备SSL通信所需的证书 333
9.6.1 准备实验环境 333
9.6.2 熟悉CA环境 334
9.6.3 创建所需要的文件 334
9.6.4 创建(CA)根证书 334
9.6.5 生成服务器端的证书请求文件 335
9.6.6 签发服务器端证书 336
9.6.7 生成客户端的证书请求文件 337
9.6.8 签发客户端证书 338
9.7 实战SSL网络编程 338
第10章 IPv6网络渗透测试 347
10.1 IPv4的现状和不足 347
10.1.1 地址空间、地址方案与选路的问题 348
10.1.2 网络管理与配置的问题 352
10.1.3 服务类型问题 353
10.1.4 IP选项问题 353
10.1.5 IPv4的安全性问题 354
10.1.6 是增加补丁还是彻底升级改进 354
10.2 IPv6概述 355
10.2.1 IPv6的特点 355
10.2.2 IPv6地址表示方法 356
10.2.3 IPv6 前缀 357
10.2.4 IPv6地址的类型 357
10.2.5 IPv6数据报格式 361
10.2.6 IPv6的安全问题 365
10.2.7 IPv6的发展 366
10.2.8 ICMPv6分析 366
10.2.9 邻居发现协议 367
10.2.10 多播侦听发现 368
10.2.11 IPv6地址自动配置 369
10.2.12 IPv6的过渡共存机制 369
10.2.13 隧道机制 370
10.2.14 基于网络渗透测试的脆弱性分析方法 370
10.3 基于IPv6的 Socket网络编程技术 371
10.3.1 地址表示 371
10.3.2 IPv6的Socket API函数 372
10.3.3 在IPv6下编写应用程序的注意事项 372
10.3.4 实战IPv6 373
10.4 IPv6自身安全问题 379
10.4.1 IPv6自身存在的安全问题 380
10.4.2 选路头引起的安全问题 380
10.4.3 误用站点多播地址导致的安全问题 381
10.4.4 ICMPv6和多播地址结合使用存在的安全问题 381
10.4.5 在ICMPv6错误消息中伪造错误数据引起的安全问题 382
10.4.6 伪造链路前缀引起的拒绝服务 382
10.4.7 任播流量识别和安全 382
10.4.8 IPv6私密性扩展和分布式拒绝服务攻击 382
10.4.9 无状态地址自动配置的安全隐患 382
10.4.10 分片相关的拒绝服务攻击 383
10.4.11 IPv6邻居发现协议存在的安全隐患 383
10.4.12 伪造地址配置前缀 384
10.4.13 参数欺骗 384
10.5 IPv6 过渡期间存在的安全问题 384
10.5.1 双栈环境中的安全问题 385
10.5.2 自动隧道终点带来的安全问题 386
10.5.3 6to4隧道终点引入的IP地址欺骗问题 386
10.5.4 ISATAP隧道引入的分布式拒绝服务问题 387
10.5.5 在自动隧道中利用选路头产生反射攻击 387
10.5.6 依托6to4机制攻击IPv6网络中的主机 388
10.6 IPv6网络渗透测试存在的问题 389
10.6.1 网络扫描 389
10.6.2 非法访问 389
10.6.3 伪造报头和数据分片 390
10.6.4 网络层和应用层欺骗 390
10.6.5 ARP和DHCP 390
10.6.6 Smurf攻击在IPv6网络中的影响 391
10.6.7 嗅探 391
10.6.8 欺诈设备 391
10.6.9 中间人攻击 391
10.7 IPv6网络扫描技术研究 391
10.7.1 减少寻址空间 392
10.7.2 针对节点和路由器必需的IPv6地址 392
10.7.3 ping网段中的组播公共地址 392
10.7.4 利用无状态地址自动配置的漏洞获得在线主机IP地址 393
10.7.5 扫描隧道端点地址 393
10.7.6 IPv6网络扫描方法 393
10.8 IPv6邻居发现机制脆弱性分析 394
10.8.1 伪造路由公告消息 394
10.8.2 重复地址引入的安全问题 395
10.8.3 路由器公告报文中的当前跳数限制字段问题 396
第11章 网络安全抓包WinPcap编程 397
11.1 WinPcap的历史 397
11.2 WinPcap的功能 397
11.3 WinPcap的应用领域 398
11.4 WinPcap不能做什么 399
11.5 WinPcap的组成结构 399
11.6 WinPcap内核层NPF 400
11.7 WinPcap的数据结构和主要功能函数 401
11.7.1 网络接口地址 401
11.7.2 数据报头的格式 401
11.7.3 PCAP文件格式 402
11.7.4 获取网卡列表:pcap_findalldevs 402
11.7.5 释放空间:pcap_freealldevs 404
11.7.6 打开网络设备:pcap_open_live 404
11.7.7 捕获数据包:pcap_loop 404
11.7.8 捕获数据包:pcap_dispatch 405
11.7.9 捕获数据包:pcap_next_ex 406
11.8 搭建WinPcap的开发环境 406
11.8.1 WinPcap通信库的安装 406
11.8.2 准备开发包 408
11.8.3 第一个WinPcap应用程序 409
11.8.4 捕获访问Web站点的数据包 410
猜您喜欢