如何从Linux系统转储内存映像?


18

我知道要在Windows中转储内存映像。(例如,dumpit)但是我不知道如何在Linux中转储内存映像。

我想在Linux中以及通过ssh连接或其他方式从Linux到Linux获取内存映像。

如何获得Linux?


5
您是否要从运行的进程中获取内存,内核内存或原始物理内存?全部可用,但访问方法不同。参见/ dev / kmem,/ dev / mem,/ proc / kcore,/ proc / $ pid / maps和/ proc / $ pid / mem。
Casey 2014年

看看这个SU Q&A:superuser.com/questions/164960/...
SLM

Answers:


26

从法医的Wiki:工具:内存映像

摘抄

的Linux

/ dev / mem

在较旧的Linux系统上,程序dd可用于从设备文件/ dev / mem中读取物理内存的内容。但是,在最新的Linux系统上,/ dev / mem仅提供对有限地址范围的访问,而不是系统的完整物理内存。在其他系统上,它可能根本不可用。在Linux内核的2.6系列中,趋势是减少通过伪设备文件对内存的直接访问。例如,请参阅此修补程序随附的消息:http : //lwn.net/Articles/267427/

/ dev /崩溃

在Red Hat系统(以及运行相关发行版的系统,例如Fedora或CentOS)上,可以加载崩溃驱动程序以创建用于原始物理内存访问的伪设备/ dev / crash(通过命令“ modprobe crash”)。也可以不费吹灰之力为其他Linux发行版编译该模块(例如,参见http://gleeda.blogspot.com/2009/08/devcrash-driver.html)。当对崩溃驱动程序进行修改,编译和加载到其他系统上时,生成的内存访问设备将无法完整地进行映像。必须注意避免没有RAM支持的地址。在Linux上,/ proc / iomem将正确的地址范围公开给映像,并标有“系统RAM”。

第二眼:Linux内存取证

该商用内存取证产品随附崩溃驱动程序的修改版本和脚本,用于在任何给定的Linux系统上使用原始或修改后的驱动程序安全地转储内存。

fmem fmem-github仓库

fmem是创建设备/ dev / fmem的内核模块,类似于/ dev / mem,但没有限制。可以使用dd或其他工具复制此设备(物理RAM)。适用于2.6 Linux内核。在GNU GPL下。

LiME-Linux内存提取器

Linux内存提取器(LiME)是可加载内核模块(LKM),它允许从Linux和基于Linux的设备(例如由Android驱动的设备)中获取易失性内存。该工具支持将内存转储到设备的文件系统或通过网络转储。

我发现了这个使用中的示例fmem,这似乎是出于分析目的转储内存的最简单方法/dev/mem,据我所知,在2.6.x内核之后您将无法再使用它。

fmem示例

$ ./run.sh
...
----Memory areas: -----
reg00: base=0x000000000 (    0MB), size= 1024MB, count=1: write-back
reg01: base=0x0c8800000 ( 3208MB), size=    2MB, count=1: write-combining
-----------------------
!!! Don't forget add "count=" to dd !!!


$ ls /dev/f*
/dev/fb0  /dev/fd0  /dev/fmem  /dev/full  /dev/fuse


$ sudo dd if=/dev/fmem of=/tmp/fmem_dump.dd bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0331212 s, 302 MB/s

*资料来源: 如何将所有物理内存转储到文件中?

LiME示例

为了分析易失性内存,也有此页面,标题为:Linux Memory Analysis。该视频教程中有一个详尽的示例,展示了如何使用LiME和Volatility收集内存转储,然后对其进行分析,并从内存转储中提取用户的Bash历史记录。

还有什么?

还有一个名为“ U&L的问答”:如何转储完整的系统内存?其中包含其他示例和信息。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.