工件报告
现在你已经熟悉在本地系统上安装和运行 Python 命令,让我们详细了解取证的概念。本章将解释处理 Python 数字取证中的工件所涉及的各种概念。
需要创建报告
数字取证过程包括报告作为第三阶段。这是数字取证过程中最重要的部分之一。由于以下原因,需要创建报告:
-
它是数字法医检查员概述调查过程及其发现的文件。
-
另一位审查员可以参考一份好的数字取证报告,以通过给定的相同存储库获得相同的结果。
-
它是一份技术和科学文档,包含在数字证据的 1 和 0 中发现的事实。
报告创建的一般准则
编写报告是为了向读者提供信息,并且必须从坚实的基础开始。如果在编写报告时没有一些一般准则或标准,调查人员可能难以有效地展示他们的调查结果。创建数字取证报告时必须遵循的一些一般准则如下:
-
Summary : 报告必须包含信息的简要摘要,以便读者能够确定报告的目的。
-
使用的工具 : 不得不提一下曾经用来承载数字取证过程的工具,包括它们的用途。
-
存储库 :假设,我们调查了某人的电脑,然后对证据的总结和相关材料的分析,如电子邮件、内部搜索历史等,那么它们必须包含在报告中,以便清楚地呈现案件。
-
对律师的建议 : 报告必须有律师根据报告中的发现继续或停止调查的建议。
创建不同类型的报告
在上面的部分中,我们了解了报告在数字取证中的重要性以及创建报告的指南。下面讨论 Python 中用于创建不同类型报告的一些格式:
CSV 报告
最常见的报告输出格式之一是 CSV 电子表格报告。你可以使用 Python 代码创建 CSV 来创建处理数据的报告,如下所示:
首先,导入用于编写电子表格的有用库:
from __future__ import print_function import csv import os import sys
现在,调用以下方法:
Write_csv(TEST_DATA_LIST, ["Name", "Age", "City", "Job description"], os.getcwd())
我们使用以下全局变量来表示样本数据类型:
TEST_DATA_LIST = [["Ram", 32, Bhopal, Manager], ["Raman", 42, Indore, Engg.], ["Mohan", 25, Chandigarh, HR], ["Parkash", 45, Delhi, IT]]
接下来,让我们定义进行进一步操作的方法。我们以“w”模式打开文件并将换行关键字参数设置为空字符串。
def Write_csv(data, header, output_directory, name = None): if name is None: name = "report1.csv" print("[+] Writing {} to {}".format(name, output_directory)) with open(os.path.join(output_directory, name), "w", newline = "") as \ csvfile: writer = csv.writer(csvfile) writer.writerow(header) writer.writerow(data)
如果你运行上述脚本,你将获得以下详细信息存储在 report1.csv 文件中。
Name | Age | City | 指定 |
---|---|---|---|
Ram | 32 | Bhopal | Managerh |
Raman | 42 | Indore | Engg |
Mohan | 25 | 昌迪加尔 | HR |
Parkash | 45 | Delhi | IT |
Excel 报告
另一种常见的报告输出格式是 Excel (.xlsx) 电子表格报告。我们可以使用 Excel 创建表格并绘制图表。我们可以使用 Python 代码以 Excel 格式创建已处理数据的报告,如下所示 -
首先,导入用于创建电子表格的 XlsxWriter 模块:
import xlsxwriter
现在,创建一个工作簿对象。为此,我们需要使用 Workbook() 构造函数。
workbook = xlsxwriter.Workbook('report2.xlsx')
现在,使用 add_worksheet() 模块创建一个新工作表。
worksheet = workbook.add_worksheet()
接下来,将以下数据写入工作表:
report2 = (['Ram', 32, ‘Bhopal’],['Mohan',25, ‘Chandigarh’] ,['Parkash',45, ‘Delhi’]) row = 0 col = 0
你可以遍历这些数据并编写如下:
for item, cost in (a): worksheet.write(row, col, item) worksheet.write(row, col+1, cost) row + = 1
现在,让我们使用 close() 方法关闭这个 Excel 文件。
workbook.close()
上述脚本将创建一个名为 report2.xlsx 的 Excel 文件,其中包含以下数据:
Ram | 32 | Bhopal |
Mohan | 25 | 昌迪加尔 |
Parkash | 45 | Delhi |
调查收购媒体
对于调查人员来说,拥有详细的调查笔记以准确回忆调查结果或将所有调查内容放在一起非常重要。屏幕截图对于跟踪特定调查所采取的步骤非常有用。借助以下 Python 代码,我们可以截取屏幕截图并将其保存在硬盘上以备将来使用。
首先,使用以下命令安装名为 pyscreenshot 的 Python 模块:
Pip install pyscreenshot
现在,如图所示导入必要的模块:
import pyscreenshot as ImageGrab
使用下面这行代码获取截图:
image = ImageGrab.grab()
使用以下代码行将屏幕截图保存到给定位置:
image.save('d:/image123.png')
现在,如果你想以图形的形式弹出截图,你可以使用下面的 Python 代码:
import numpy as np import matplotlib.pyplot as plt import pyscreenshot as ImageGrab imageg = ImageGrab.grab() plt.imshow(image, cmap='gray', interpolation='bilinear') plt.show()