工件报告


现在您已经熟悉了在本地系统上安装和运行 Python 命令,让我们详细介绍取证的概念。本章将解释处理 Python 数字取证中的工件所涉及的各种概念。

需要创建报告

数字取证过程包括第三阶段的报告。这是数字取证过程中最重要的部分之一。由于以下原因,有必要创建报告 -

  • 数字取证检查员在该文件中概述了调查过程及其调查结果。

  • 一份好的数字取证报告可以被另一位审查员引用,以通过给定的相同存储库获得相同的结果。

  • 它是一份技术和科学文档,包含在数字证据的 1 和 0 中发现的事实。

报告创建的一般准则

编写报告的目的是向读者提供信息,并且必须从坚实的基础开始。如果报告的编写没有一些一般性的指导方针或标准,调查人员可能会在有效地提出调查结果时遇到困难。下面给出了创建数字取证报告时必须遵循的一些一般准则 -

  • 摘要- 报告必须包含信息的简短摘要,以便读者可以确定报告的目的。

  • 使用的工具- 我们必须提到用于进行数字取证过程的工具,包括它们的目的。

  • 存储库- 假设我们调查了某人的计算机,然后对电子邮件、内部搜索历史记录等相关材料进行证据总结和分析,然后它们必须包含在报告中,以便清楚地呈现案件。

  • 对律师的建议- 报告必须根据报告中的调查结果向律师提出继续或停止调查的建议。

创建不同类型的报告

在上一节中,我们了解了数字取证中报告的重要性以及创建报告的指南。下面讨论了 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 文件中的以下详细信息。

姓名 年龄 城市 指定
内存 32 博帕尔 经理
拉曼 42 印多尔 恩格
莫罕 25 昌迪加尔 人力资源
帕卡什 45 德里

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 文件,其中包含以下数据 -

内存 32 博帕尔
莫罕 25 昌迪加尔
帕卡什 45 德里

调查采集媒体

对于调查人员来说,拥有详细的调查记录以准确回忆调查结果或将所有调查结果放在一起非常重要。屏幕截图对于跟踪特定调查所采取的步骤非常有用。借助以下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()