volatility,libvmi,pyvmi,virt-manager,libvirt,virsh,kvm等工具关系梳理

  1. volatility是用来将内存语义重构成数据结构的,可以针对内存转储文件如.dump和.raw等文件执行
  2. libvmi是一个虚拟机自省库,用来访问运行虚拟机的内存的
  3. pyvmi是基于libvmi的,使用pyvmi必须先安装libvmi。libvmi是使用c语言的,而pyvmi是使用python的,这样就可以方便的与其他使用python的工具连接。将volatility配合pyvmi使用,就可以直接重构运行虚拟机的内存,而不用转储成文件后再重构。
  4. kvm(kernel-based Virtual Machine)是系统虚拟化模块,安装这个可以使用并运行虚拟机
  5. libvirt是虚拟化管理工具,是一套c函数库,能配置kvm对kvm中的虚拟机进行管理
  6. virt-manager是一个管理kvm虚拟环境的工具,通过Unix socket访问libvirt来管理kvm虚拟机
  7. virsh是libvirt对应的shell命令,是将libvirt API封装后以Command Line Interface提供的对外接口
graph LR
virsh-->libvirt
virt-manager-->libvirt
libvirt-->kvm
graph LR
libvmi-->pyvmi
pyvmi-->运行虚拟机
volatility-->运行虚拟机
volatility-->内存转储文件

发表评论