简介
本书是一本电子数据取证的入门书籍,系统介绍如何应用Python编程语言进行电子数据取证软件开发。第1章和第2章介绍Python基本知识和如何建立一个取证开发环境。第3章到第11章针对电子数字取证的各种需求,详细阐述指导性的解决方法,涵盖哈希计算、关键字搜索、元数据提取、网络分析、自然语言处理以及利用云的多进程等专题,并提供大量的源代码实例供读者学习、改进并应用到实际案例,第12章回顾了全书内容,并就未来的发展进行了探讨。
【目录】
第1章 为何使用Python进行取证 1
1.1 本章简介 1
1.2 网络空间犯罪调查的挑战 1
1.3 Python编程环境如何有助于应对这些挑战 3
1.3.1 Python的全球支持 4
1.3.2 开源和平台独立性 5
1.3.3 生命周期定位 5
1.3.4 入门的成本和限制 5
1.4 Python与多伯特(Daubert)证据标准 5
1.5 本书的组织结构 6
1.6 章节回顾 7
1.7 问题小结 7
1.8 补充资料 7
第2章 建立一个Python取证环境 8
2.1 本章简介 8
2.2 搭建一个Python取证环境 8
2.3 正确的环境 9
2.4 选择一个Python版本 10
2.5 在Windows上安装Python 10
2.6 Python包和模块 15
2.6.1 Python标准库 15
2.7 标准库包含什么 17
2.7.1 内建函数 17
2.7.2 hex()和bin() 17
2.7.3 range() 18
2.7.4 其他的内建函数 19
2.7.5 内建常量 20
2.7.6 内建类型 21
2.7.7 内建异常 22
2.7.8 文件和目录访问 22
2.7.9 数据压缩和归档 23
2.7.10?文件格式 23
2.7.11?加密服务 23
2.7.12?操作系统服务 23
2.7.13?标准库小结 24
2.8 第三方包和模块 24
2.8.1 自然语言工具包(NLTK) 24
2.8.2 Twisted matrix (TWISTED) 25
2.9 集成开发环境 25
2.9.1 有哪些选择 25
2.9.2 运行于Ubuntu Linux上的Python 30
2.10?移动设备上的Python 32
2.10.1 iOS中的Python应用 32
2.10.2 Windows 8 Phone 34
2.11 虚拟机 35
2.12 章节回顾 35
2.13 问题小结 35
2.14 接下来讲什么 36
2.15 补充资料 36
第3章 *个Python取证应用程序 37
3.1 本章简介 37
3.2 命名惯例和其他考虑 37
3.2.1 常量 38
3.2.2 本地变量名 38
3.2.3 全局变量名 38
3.2.4 函数名 38
3.2.5 对象名 38
3.2.6 模块 38
3.2.7 类名 38
3.3 *个应用程序“单向文件系统哈希” 38
3.3.1 背景 39
3.3.2 基本需求 40
3.3.3 设计中的考虑 41
3.3.4 程序结构 42
3.4 代码遍历 44
3.4.1 检查Main-代码遍历 44
3.4.2 ParseCommandLine(?) 46
3.4.3 ValidatingDirectoryWritable 48
3.4.4 WalkPath 49
3.4.5 HashFile 50
3.4.6 CSVWriter 53
3.4.7 pfish.py完整代码清单 53
3.4.8 _pfish.py完整代码清单 54
3.5 结果展示 61
3.6 章节回顾 65
3.7 问题小结 65
3.8 接下来讲什么 66
3.9 补充资料 66
第4章 使用Python进行取证搜索和索引 67
4.1 本章简介 67
4.2 关键字上下文搜索 68
4.2.1 如何用Python轻松完成 69
4.2.2 基本需求 70
4.2.3 设计考虑 71
4.3 代码遍历 73
4.3.1 分析Main——代码遍历 73
4.3.2 分析_p-search函数——代码遍历 74
4.3.3 分析ParseCommandLine 74
4.3.4 分析ValidateFileRead(theFile) 76
4.3.5 分析SearchWords函数 76
4.4 结果展示 80
4.5 索引 83
4.6 编写isWordProbable 84
4.7 p-search完整代码清单 86
4.7.1 p-search.py 86
4.7.2 _p-search.py 87
4.8 章节回顾 93
4.9 问题小结 93
4.10?补充资料 93
第5章 证据提取(JPEG和TIFF) 94
5.1 本章简介 94
5.2 Python图像库(PIL) 95
5.3 代码遍历 105
5.3.1 Main程序 105
5.3.2 logging类 105
5.3.3 cvs处理器 105
5.3.4 命令行解析器 106
5.3.5 EXIF和GPS处理器 106
5.3.6 检查代码 106
5.3.7 完整代码清单 114
5.3.8 程序的执行 121
5.4 章节回顾 123
5.5 问题小结 124
5.6 补充资料 124
第6章 时间取证 125
6.1 本章简介 125
6.2 给这个环节添加时间 126
6.3 时间模块 127
6.4 网络时间协议 132
6.5 获得和安装ntp库ntplib 132
6.6 全世界的NTP服务器 134
6.7 NTP客户端创建脚本 135
6.8 章节回顾 137
6.9 问题小结 137
6.10?补充资料 137
第7章 在电子取证中使用自然语言工具 138
7.1 什么是自然语言处理 138
7.1.1 基于对话的系统 138
7.1.2 语料库 139
7.2 安装自然语言工具包和相关的库 139
7.3 使用语料库 140
7.4 用NLTK进行实验 140
7.5 从因特网上创建语料库 145
7.6 NLTKQuery应用程序 146
7.6.1 NLTKQuery.py 146
7.6.2 _classNLTKQuery.py 148
7.6.3 _NLTKQuery.py 150
7.6.4 NLTKQuery例子的执行 150
7.6.5 NLTK跟踪执行 151
7.7 章节回顾 153
7.8 问题小结 153
7.9 补充资料 153
第8章 网络取证:第1部分 154
8.1 网络调查基础 154
8.1.1 什么是套接字 154
8.1.2 *简单使用套接字的网络客户端和服务器连接 156
8.1.3 server.py的代码 156
8.1.4 client.py的代码 157
8.1.5 server.py和client.py程序的执行 158
8.2 队长雷缪斯:再次核实我们到目标的射程…仅需一个PING 158
8.2.1 wxPython 159
8.2.2 ping.py 159
8.2.3 guiPing.py的代码 164
8.2.4 ping扫描的执行 168
8.3 端口扫描 169
8.3.1 公认端口的例子 169
8.3.2 注册端口的例子 170
8.4 章节回顾 176
8.5 问题小结 176
8.6 补充资料 177
第9章 网络取证:第2部分 178
9.1 本章简介 178
9.2 数据包嗅探 178
9.3 Python中的原始套接字 180
9.3.1 什么是混杂模式或监控模式 180
9.3.2 Linux下Python中的原始套接字 181
9.3.3 对缓冲区进行解包 182
9.4 Python隐蔽式网络映射工具(PSNMT) 185
9.5 PSNMT源代码 187
9.5.1 psnmt.py源代码 188
9.5.2 decoder.py源代码 190
9.5.3 commandParser.py源代码 192
9.5.4 classLogging.py源代码 193
9.5.5 csvHandler.py源代码 194
9.6 程序的执行和输出 195
9.6.1 取证日志 196
9.6.2 CSV文件输出实例 197
9.7 章节回顾 198
9.8 问题小结 198
9.9 补充资料 198
第10章 多进程的取证应用 199
10.1 本章简介 199
10.2 何谓多进程 199
10.3 Python多进程支持 199
10.4 *简单的多进程例子 202
10.4.1 单核的文件搜索方案 202
10.4.2 多进程的文件搜索方法 203
10.5?多进程文件哈希 204
10.5.1 单核方案 204
10.5.2 多核方案 A 205
10.5.3 多核方案 B 208
10.6 多进程哈希表生成 210
10.6.1 单核口令生成器代码 210
10.6.2 多核口令生成器 213
10.6.3 多核口令生成器代码 213
10.7 章节回顾 216
10.8 问题小结 217
10.9 补充资料 217
第11章 云中的彩虹表 218
11.1 本章简介 218
11.2 在云端工作 218
11.3 云端服务的可选资源 220
11.4 在云端创建彩虹表 222
11.4.1 单核彩虹表 222
11.4.2 多核彩虹表 224
11.5 口令生成计算 226
11.6 章节回顾 228
11.7 问题小结 228
11.8 补充资料 229
第12章 展望 230
12.1 本章简介 230
12.2 由此我们将走向何方 232
12.3 结束语 235
12.4 补充资料 235
目录
第1章 为何使用Python进行取证 1
1.1 本章简介 1
1.2 网络空间犯罪调查的挑战 1
1.3 Python编程环境如何有助于应对这些挑战 3
1.3.1 Python的全球支持 4
1.3.2 开源和平台独立性 5
1.3.3 生命周期定位 5
1.3.4 入门的成本和限制 5
1.4 Python与多伯特(Daubert)证据标准 5
1.5 本书的组织结构 6
1.6 章节回顾 7
1.7 问题小结 7
1.8 补充资料 7
第2章 建立一个Python取证环境 8
2.1 本章简介 8
2.2 搭建一个Python取证环境 8
2.3 正确的环境 9
2.4 选择一个Python版本 10
2.5 在Windows上安装Python 10
2.6 Python包和模块 15
2.6.1 Python标准库 15
2.7 标准库包含什么 17
2.7.1 内建函数 17
2.7.2 hex()和bin() 17
2.7.3 range() 18
2.7.4 其他的内建函数 19
2.7.5 内建常量 20
2.7.6 内建类型 21
2.7.7 内建异常 22
2.7.8 文件和目录访问 22
2.7.9 数据压缩和归档 23
2.7.10?文件格式 23
2.7.11?加密服务 23
2.7.12?操作系统服务 23
2.7.13?标准库小结 24
2.8 第三方包和模块 24
2.8.1 自然语言工具包(NLTK) 24
2.8.2 Twisted matrix (TWISTED) 25
2.9 集成开发环境 25
2.9.1 有哪些选择 25
2.9.2 运行于Ubuntu Linux上的Python 30
2.10?移动设备上的Python 32
2.10.1 iOS中的Python应用 32
2.10.2 Windows 8 Phone 34
2.11 虚拟机 35
2.12 章节回顾 35
2.13 问题小结 35
2.14 接下来讲什么 36
2.15 补充资料 36
第3章 *个Python取证应用程序 37
3.1 本章简介 37
3.2 命名惯例和其他考虑 37
3.2.1 常量 38
3.2.2 本地变量名 38
3.2.3 全局变量名 38
3.2.4 函数名 38
3.2.5 对象名 38
3.2.6 模块 38
3.2.7 类名 38
3.3 *个应用程序“单向文件系统哈希” 38
3.3.1 背景 39
3.3.2 基本需求 40
3.3.3 设计中的考虑 41
3.3.4 程序结构 42
3.4 代码遍历 44
3.4.1 检查Main-代码遍历 44
3.4.2 ParseCommandLine(?) 46
3.4.3 ValidatingDirectoryWritable 48
3.4.4 WalkPath 49
3.4.5 HashFile 50
3.4.6 CSVWriter 53
3.4.7 pfish.py完整代码清单 53
3.4.8 _pfish.py完整代码清单 54
3.5 结果展示 61
3.6 章节回顾 65
3.7 问题小结 65
3.8 接下来讲什么 66
3.9 补充资料 66
第4章 使用Python进行取证搜索和索引 67
4.1 本章简介 67
4.2 关键字上下文搜索 68
4.2.1 如何用Python轻松完成 69
4.2.2 基本需求 70
4.2.3 设计考虑 71
4.3 代码遍历 73
4.3.1 分析Main——代码遍历 73
4.3.2 分析_p-search函数——代码遍历 74
4.3.3 分析ParseCommandLine 74
4.3.4 分析ValidateFileRead(theFile) 76
4.3.5 分析SearchWords函数 76
4.4 结果展示 80
4.5 索引 83
4.6 编写isWordProbable 84
4.7 p-search完整代码清单 86
4.7.1 p-search.py 86
4.7.2 _p-search.py 87
4.8 章节回顾 93
4.9 问题小结 93
4.10?补充资料 93
第5章 证据提取(JPEG和TIFF) 94
5.1 本章简介 94
5.2 Python图像库(PIL) 95
5.3 代码遍历 105
5.3.1 Main程序 105
5.3.2 logging类 105
5.3.3 cvs处理器 105
5.3.4 命令行解析器 106
5.3.5 EXIF和GPS处理器 106
5.3.6 检查代码 106
5.3.7 完整代码清单 114
5.3.8 程序的执行 121
5.4 章节回顾 123
5.5 问题小结 124
5.6 补充资料 124
第6章 时间取证 125
6.1 本章简介 125
6.2 给这个环节添加时间 126
6.3 时间模块 127
6.4 网络时间协议 132
6.5 获得和安装ntp库ntplib 132
6.6 全世界的NTP服务器 134
6.7 NTP客户端创建脚本 135
6.8 章节回顾 137
6.9 问题小结 137
6.10?补充资料 137
第7章 在电子取证中使用自然语言工具 138
7.1 什么是自然语言处理 138
7.1.1 基于对话的系统 138
7.1.2 语料库 139
7.2 安装自然语言工具包和相关的库 139
7.3 使用语料库 140
7.4 用NLTK进行实验 140
7.5 从因特网上创建语料库 145
7.6 NLTKQuery应用程序 146
7.6.1 NLTKQuery.py 146
7.6.2 _classNLTKQuery.py 148
7.6.3 _NLTKQuery.py 150
7.6.4 NLTKQuery例子的执行 150
7.6.5 NLTK跟踪执行 151
7.7 章节回顾 153
7.8 问题小结 153
7.9 补充资料 153
第8章 网络取证:第1部分 154
8.1 网络调查基础 154
8.1.1 什么是套接字 154
8.1.2 *简单使用套接字的网络客户端和服务器连接 156
8.1.3 server.py的代码 156
8.1.4 client.py的代码 157
8.1.5 server.py和client.py程序的执行 158
8.2 队长雷缪斯:再次核实我们到目标的射程…仅需一个PING 158
8.2.1 wxPython 159
8.2.2 ping.py 159
8.2.3 guiPing.py的代码 164
8.2.4 ping扫描的执行 168
8.3 端口扫描 169
8.3.1 公认端口的例子 169
8.3.2 注册端口的例子 170
8.4 章节回顾 176
8.5 问题小结 176
8.6 补充资料 177
第9章 网络取证:第2部分 178
9.1 本章简介 178
9.2 数据包嗅探 178
9.3 Python中的原始套接字 180
9.3.1 什么是混杂模式或监控模式 180
9.3.2 Linux下Python中的原始套接字 181
9.3.3 对缓冲区进行解包 182
9.4 Python隐蔽式网络映射工具(PSNMT) 185
9.5 PSNMT源代码 187
9.5.1 psnmt.py源代码 188
9.5.2 decoder.py源代码 190
9.5.3 commandParser.py源代码 192
9.5.4 classLogging.py源代码 193
9.5.5 csvHandler.py源代码 194
9.6 程序的执行和输出 195
9.6.1 取证日志 196
9.6.2 CSV文件输出实例 197
9.7 章节回顾 198
9.8 问题小结 198
9.9 补充资料 198
第10章 多进程的取证应用 199
10.1 本章简介 199
10.2 何谓多进程 199
10.3 Python多进程支持 199
10.4 *简单的多进程例子 202
10.4.1 单核的文件搜索方案 202
10.4.2 多进程的文件搜索方法 203
10.5?多进程文件哈希 204
10.5.1 单核方案 204
10.5.2 多核方案 A 205
10.5.3 多核方案 B 208
10.6 多进程哈希表生成 210
10.6.1 单核口令生成器代码 210
10.6.2 多核口令生成器 213
10.6.3 多核口令生成器代码 213
10.7 章节回顾 216
10.8 问题小结 217
10.9 补充资料 217
第11章 云中的彩虹表 218
11.1 本章简介 218
11.2 在云端工作 218
11.3 云端服务的可选资源 220
11.4 在云端创建彩虹表 222
11.4.1 单核彩虹表 222
11.4.2 多核彩虹表 224
11.5 口令生成计算 226
11.6 章节回顾 228
11.7 问题小结 228
11.8 补充资料 229
第12章 展望 230
12.1 本章简介 230
12.2 由此我们将走向何方 232
12.3 结束语 235
12.4 补充资料 235
【作者简介】
Chet Hosmer
WetStone技术公司的联合创始人,30年来一直致力于研发先进的软件解决方案,推出了许多获奖的产品。
张俊,男,博士研究生,湖北警官学院信息技术系副教授,主讲《密码学(双语)》和《计算机取证》。湖北三真司法鉴定中心计算机取证国家司法鉴定人。研究近500个涉及计算机和网络犯罪的案例,参与近200个案件的犯罪调查,多次作为专家证人出庭。
前公安机关网络安全保卫大队大队长。现湖北警官学院电子数据取证重点实验室和香港大学联合实验室研究员。湖北省信息网络安全协会常务理事。公安部国际合作局中南亚国家警察培训计划讲座专家,湖北省公安厅网络犯罪调查专家组成员和网络警察职业训练计划教官,公安部*研究所计算机网络犯罪技术研修班讲座专家。作为主持人或主要研究人员获得国家863项目和多项公安部、湖北省公安厅和湖北省教育厅的研究课题/项目资助。在计算机科学,警察技术,网络信息安全,武汉大学学报(英文版),湖北警官学院学报等发表论文多篇。
电子数据取证与Python方法
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×