1、硬盘镜像获取工具:dd
dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

1.1 本地取数据
查看磁盘及分区

# fdisk -l

获取整个磁盘镜像文件

# dd if=需要拷贝的磁盘 of=/存储目录/镜像文件 (确保存储目录有足够的空间)

1.2 远程取硬盘数据·
克隆硬盘或分区的操作,不应在已经mount的的系统上进行,采取远程取的办法这样可以避免破坏现场。

NC远程传输文件
从受害机器A拷贝文件到取证机器B。需要先在取证机器B上,用nc激活监听。

取证机器B上运行: nc -l 1234 > text.txt受害机器A上运行: nc 192.168.10.11 1234 < text.txt

注:取证机器B监听要先打开,192.168.10.11是取证机器B的IP

DD与NC结合传输硬盘数据
取证机器B上运行:

nc -l -p 4445 | dd of=/tmp/sda2.dd

受害机器A上执行传输,即可完成从受害机器A克隆sda硬盘到取证机器B的任务:

dd if=/dev/sda2 | nc 192.168.10.11 4445

可以用ls -lh命令,查看传输过来的数据大小。

2、AccessData FTK Imager挂载硬盘数据
Image Mounting挂载dd备份出来的硬盘数据。

dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

  1. 命令简介

dd 的主要选项:

指定数字的地方若以下列字符结尾乘以相应的数字:

b=512, c=1, k=1024, w=2, xm=number m

if=file

输入文件名,缺省为标准输入。

of=file

输出文件名,缺省为标准输出。

ibs=bytes

一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。

obs=bytes

一次写 bytes 个字节(即一个块大小为 bytes 个字节)。

bs=bytes

同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。

cbs=bytes

一次转换 bytes 个字节,即转换缓冲区大小。

skip=blocks

从输入文件开头跳过 blocks 个块后再开始复制。

seek=blocks

从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。

count=blocks

仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。

conv=conversion[,conversion…]

用指定的参数转换文件。

转换参数:

ascii 转换 EBCDIC 为 ASCII。

ebcdic 转换 ASCII 为 EBCDIC。

ibm 转换 ASCII 为 alternate EBCDIC.

block 把每一行转换为长度为 cbs 的记录,不足部分用空格填充。

unblock 使每一行的长度都为 cbs ,不足部分用空格填充。

lcase 把大写字符转换为小写字符。

ucase 把小写字符转换为大写字符。

swab 交换输入的每对字节。

noerror 出错时不停止。

notrunc 不截短输出文件。

sync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

2.实例分析

2.1.数据备份与恢复

2.1.1整盘数据备份与恢复
备份:
dd if=/dev/hdx of=/dev/hdy
将本地的/dev/hdx整盘备份到/dev/hdy
dd if=/dev/hdx of=/path/to/image
将/dev/hdx全盘数据备份到指定路径的image文件
dd if=/dev/hdx | gzip >/path/to/image.gz
备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径
恢复:
dd if=/path/to/image of=/dev/hdx
将备份文件恢复到指定盘
gzip -dc /path/to/image.gz | dd of=/dev/hdx
将压缩的备份文件恢复到指定盘

2.1.2.利用netcat远程备份
dd if=/dev/hda bs=16065b | netcat < targethost-IP > 1234
在源主机上执行此命令备份/dev/hda
netcat -l -p 1234 | dd of=/dev/hdc bs=16065b
在目的主机上执行此命令来接收数据并写入/dev/hdc
netcat -l -p 1234 | bzip2 > partition.img
netcat -l -p 1234 | gzip > partition.img
以上两条指令是目的主机指令的变化分别采用bzip2 gzip对数据进行压缩,并将备份文件保存在当前目录。

2.1.3.备份MBR
备份:
dd if=/dev/hdx of=/path/to/image count=1 bs=512
备份磁盘开始的512Byte大小的MBR信息到指定文件
恢复:
dd if=/path/to/image of=/dev/hdx
将备份的MBR信息写到磁盘开始部分
2.1.4.备份软盘
dd if=/dev/fd0 of=disk.img count=1 bs=1440k
将软驱数据备份到当前目录的disk.img文件
2.1.5.拷贝内存资料到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024
将内存里的数据拷贝到root目录下的mem.bin文件
2.1.6.从光盘拷贝iso镜像
dd if=/dev/cdrom of=/root/cd.iso
拷贝光盘数据到root文件夹下,并保存为cd.iso文件

2.2.增加Swap分区文件大小
dd if=/dev/zero of=/swapfile bs=1024 count=262144
创建一个足够大的文件(此处为256M)
mkswap /swapfile
把这个文件变成swap文件
swapon /swapfile
启用这个swap文件
/swapfile swap swap defaults 0 0
在每次开机的时候自动加载swap文件, 需要在 /etc/fstab 文件中增加一行

2.3.销毁磁盘数据
dd if=/dev/urandom of=/dev/hda1
利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1将无法挂载,创建和拷贝操作无法执行。

2.4磁盘管理
2.4.1.得到最恰当的block size
dd if=/dev/zero bs=1024 count=1000000 of=/root/1Gb.file
dd if=/dev/zero bs=2048 count=500000 of=/root/1Gb.file
dd if=/dev/zero bs=4096 count=250000 of=/root/1Gb.file
dd if=/dev/zero bs=8192 count=125000 of=/root/1Gb.file
通过比较dd指令输出中所显示的命令执行时间,即可确定系统最佳的block size大小
2.4.2测试硬盘读写速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
通过上两个命令输出的执行时间,可以计算出测试硬盘的读/写速度

2.4.3.修复硬盘
dd if=/dev/sda of=/dev/sda
当硬盘较长时间(比如1,2年)放置不使用后,磁盘上会产生magnetic flux point。当磁头读到这些区域时会遇到困难,并可能导致I/O错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬盘报废。上边的命令有可能使这些数据起死回生。且这个过程是安全,高效的

Linux硬盘镜像获取与还原(dd、AccessData FTK Imager)相关推荐

  1. 【取证分析】Linux硬盘镜像获取与还原(dd、AccessData FTK Imager)

    转载自https://www.cnblogs.com/17bdw/p/9094659.html 1.硬盘镜像获取工具:dd dd是Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝 ...

  2. XP下 Linux 硬盘镜像安装 CentOS 6.3 找不到镜像文件的解决办法

    网上有许多硬盘安装的教程. 基本工作都一样的. 准备工作: CentOS 6.3 i386 ISO文件: grub:足够的自由空间:和一个FAT格式分区 把grub中的 grldr, menu.lst ...

  3. 【FTK Imager篇】FTK Imager制作镜像详细介绍

    FTK Imager制作镜像详细介绍 以DD镜像制造为例,详细介绍了FTK Imager创建镜像的过程,记得大学的时候学习这些没什么教程,找到的资料也是语焉不详,故在此啰嗦一番-[suy] 文章目录 ...

  4. linux镜像写入另一个硬盘,服务器DD命令将已有的硬盘镜像文件直接写到别的硬盘上...

    DD镜像是用DD命令直接将已有的硬盘镜象文件直接写到硬盘上(或指定分区)dd命令是LINUX下的磁盘读写常用命令. 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以 ...

  5. [linux] linux使用dd命令制作硬盘镜像

    制作环境 系统:linux 制作 使用lsblk命令查看被制作硬盘镜像的硬盘序号 lsblk 制作硬盘镜像 sudo dd bs=512 count=117229568 if=/dev/sdc | g ...

  6. Linux centOS系统备份还原(dd+rsync方式)

    Linux系统备份对一些关键的单点业务是非常重要的,下面将说说采用简单的工具进行备份,实用派. 一.rsync备份系统 rsync -PpavAHX 备份源目录 备份到位置 rsync -PpavAH ...

  7. linux 缩小硬盘镜像,缩小qcow2格式kvm虚拟镜像磁盘大小[转]

    qcow2格式的虚拟磁盘初始容量设置过大,虽然并不会实际占用主机这么大的磁盘空间,只占用客户机实际使用的空间大小,但有时候还是有些不太方便,所以需要将其收缩(shrink)以下. qemu-img命令 ...

  8. 用dd实现linux硬盘备份

    用dd实现linux硬盘备份 2016年11月26日 14:33:16 阅读数:2735更多 https://blog.csdn.net/mao0514/article/details/5335113 ...

  9. linux用iso文件启动,直接从硬盘启动Linux ISO镜像

    直接从硬盘启动Linux ISO镜像 Linux的GRUB2启动加载器可以直接从硬盘启动Linux ISO文件,可以启动Live CD的 ISO,而不用烧录到光盘来安装Linux到一个硬盘分区,或从U ...

最新文章

  1. mvc中的ViewData用到webfrom中去
  2. ie8下jquery改变PNG的opacity出现黑边,ie6下png透明解决办法
  3. [YTU]_2354 (H 实现复数类中的加运算符重载【C++运算符重载】)
  4. 一天学完spark的Scala基础语法教程七、数组(idea版本)
  5. Spring容器创建过程
  6. CF1422F Boring Queries(ST表 + 主席树)
  7. 【view桌面虚拟化系列】1-vSphere搭建
  8. 解决Ajax中IE浏览器缓存问题
  9. 创建一个对象和i++是否原子性的理解
  10. [转]SQL Server 2000执行计划成本(2/5)
  11. Java使用RXTX读取串口
  12. MVP+RecylerView显示数据
  13. windows的映射驱动器
  14. mc服务器linux配置,详细教程——基于Centos搭建MC服务器(outdated)
  15. Axure RP Extension for Chrome 安装插件
  16. 小红书竞品分析_小红书与网易考拉海购竞品分析报告
  17. CentOS集群上安装Ganglia-3.6.1监控
  18. 我读Saliency Filters cvpr 2012
  19. SDK对于APP主流量变现意味着什么?
  20. Java实验06-GUI文件加解密软件,ScrollPanel嵌套Boxlayout,DES分组加密算法,进度条控制

热门文章

  1. UBUNTU使用硬解高清视频
  2. 点对点通信解决透明传输的方法
  3. ansys与solidworks关联失败_solidworks无法导入到ansys里怎么办?
  4. JavaScript 根据对象某属性获得其在数组中的index
  5. gl/glu/glut/gltools等的区别
  6. php curlclose,PHP curl_close函数 - PHP 教程 - 自强学堂
  7. windows下-phpstrom下搜狗输入法光标不一致的解决方案
  8. 华为p50刷机能用吗华为p40pro怎么刷机解锁华为p50激活设备密码华为p50pro远程解锁华为p50手机能刷机吗华为p50pro刷机教程视频华为p50pro忘记密码
  9. SkyWalking 调研记录
  10. 凝思Linux命令行IP设置,linux(凝思)修改 ip