工件报告



既然您已经熟悉了在本地系统上安装和运行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”模式打开文件,并将newline关键字参数设置为空字符串。

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

拉姆 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()
广告