- Python 取证教程
- 家
- 介绍
- Python的安装
- Python概述
- 基本法医应用
- 哈希函数
- 破解加密
- 虚拟化
- 网络取证
- Python 模块
- Dshell 和 Scapy
- 搜寻中
- 索引
- Python 图像库
- 移动取证
- 网络时间协议
- 多处理支持
- 记忆与取证
- Linux 中的取证
- 妥协指标
- 云实施
- Python 取证有用资源
- Python 取证 - 快速指南
- Python 取证 - 有用的资源
- Python 取证 - 讨论
Python 取证 - 多处理支持
法医专家通常发现很难应用数字解决方案来分析常见犯罪中大量的数字证据。大多数数字调查工具都是单线程的,它们一次只能执行一个命令。
在本章中,我们将重点关注 Python 的多处理功能,这可能与常见的取证挑战相关。
多重处理
多重处理被定义为计算机系统支持多个进程的能力。支持多处理的操作系统允许多个程序同时运行。
多重处理有多种类型,例如对称处理和非对称处理。下图是取证调查中通常遵循的对称多处理系统。
例子
以下代码显示了如何在 Python 编程中内部列出不同的进程。
import random import multiprocessing def list_append(count, id, out_list): #appends the count of number of processes which takes place at a time for i in range(count): out_list.append(random.random()) if __name__ == "__main__": size = 999 procs = 2 # Create a list of jobs and then iterate through # the number of processes appending each process to # the job list jobs = [] for i in range(0, procs): out_list = list() #list of processes process1 = multiprocessing.Process( target = list_append, args = (size, i, out_list)) # appends the list of processes jobs.append(process) # Calculate the random number of processes for j in jobs: j.start() #initiate the process # After the processes have finished execution for j in jobs: j.join() print "List processing complete."
这里,函数list_append()有助于列出系统中的进程集。
输出
我们的代码将产生以下输出 -