web-dev-qa-db-ja.com

すべての物理メモリをファイルにダンプするにはどうすればよいですか?

Ubuntu 11.10を使用していますが、カーネルの制限により、スーパーユーザーであってもdd/dev/memを実行できないため、すべての物理メモリとスワップをダンプできるかどうかを単に知りたいと思います。

dd 'ing /dev/memまたはこれを正しく行うための専用ツールを許可する回避策またはオプションはありますか?

10
hexafraction

fmemを使用

かつては単にdd /dev/memでしたが、セキュリティ上の理由(カーネル2.6以降、IIRC以降)ではありませんでした。

別の方法は、rootでそれを行うオプションを使用してカーネルを自分でビルドすることです(後で電話で名前を編集します)ORより良い、 fmem 、簡単にダンプするための/dev/fmemデバイスを作成するカーネルモジュール。


fmemは、12.04に最適です。モジュールをロードするには、tarballに含まれるrun.shファイルを使用するようにしてください。 しないinsmodを使用:

 $ ./run.sh
...
----メモリ領域:----- 
 reg00:base = 0x000000000(0MB)、 size = 1024MB、count = 1:ライトバック
 reg01:base = 0x0c8800000(3208MB)、size = 2MB、count = 1:ライトコンバイニング
 --------- -------------- 
 !!! 「count =」を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レコードin 
 10 + 0レコードout 
 10000000バイト(10 MB)コピー、0.0331212秒、302 MB /秒
7
ish

最近のカーネルでは、おそらくメモリをddすることはできません。' ほとんどが危険なことに使われる直接アクセスを減らしているため です。 フォレンジックwikiはいくつかのツールをリンクしています これは興味深いかもしれませんが、ここ数年で実際に更新されたものは何もありません。 Lime はまだテストしていませんが、更新されているようです。

2
Journeyman Geek