Linux'ta fiziksel belleği nasıl kullanırım?


22

Biri Linux'ta nasıl bir fiziksel bellek (RAM) dökümü yaratabilir?

Bu amaçla herhangi bir yazılım mevcutsa ne olabilir?

Yerel bir diske yazmamalı, verileri ağ üzerinden göndermem gerektiğini okudum. Buradaki özellikleri bilen var mı? Ethernet bu amaç için çalışır mı, yoksa diske göndermeden önce önbellek miktarını en aza indiren herhangi bir komut var mı?

Windows üzerinde WinHex böyle bir işleve sahiptir:

görüntü tanımını buraya girin

Linux'ta benzer bir şey arıyorum.

Yanıtlar:


22

İşte Linux Belleğini Dökümü hakkında bir eHow sayfası

Linux, ' /dev/mem' ve ' /dev/kmem' bu amaçla iki sanal aygıt sağlar , ancak çoğu dağıtım güvenlik nedeniyle bunları varsayılan olarak devre dışı bırakır. ' /dev/mem' fiziksel sistem hafızasına bağlanırken, ' /dev/kmem' herhangi bir takas dahil olmak üzere tüm sanal hafıza alanına eşlenir. Her iki cihaz da normal dosyalar olarak çalışır ve gg veya başka herhangi bir dosya işleme aracıyla kullanılabilir.

Bu , Linux / Unix bölümüyle birlikte Bellek Görüntüleme Araçları'ndaki ForensicsWiki sayfasına yönlendirir ,

  1. dd Unix sistemlerinde, dd programı bir aygıt dosyası kullanarak fiziksel hafızanın içeriğini yakalamak için kullanılabilir (örn. / dev / mem ve / dev / kmem). Son Linux çekirdeğinde / dev / kmem artık mevcut değil. Daha yeni çekirdeklerde, / dev / mem ek kısıtlamalara sahiptir. Ve en son olarak, / dev / mem varsayılan olarak artık mevcut değildir. 2.6 çekirdek serisi boyunca eğilim, sözde cihaz dosyaları yoluyla belleğe doğrudan erişimi azaltmak olmuştur. Örneğin, bu yamaya eşlik eden iletiye bakın: http://lwn.net/Articles/267427/ . Red Hat sistemlerinde (ve CentOS gibi türetilmiş dağıtımlar), bellek sürücüsü bellek erişimi için bir takma aygıt oluşturmak üzere yüklenebilir ("modprobe kazası").
  2. İkinci Bakış Bu ticari bellek analizi ürünü, Linux sistemlerinden yerel olarak veya uzak bir hedeften DMA veya ağ üzerinden bellek alma yeteneğine sahiptir. En yaygın kullanılan Linux dağıtımlarından yüzlerce çekirdek için önceden derlenmiş Fiziksel Bellek Erişim Sürücüsü (PMAD) modülleriyle birlikte gelir.
  3. Idetect (Linux)
  4. fmem (Linux)
    fmem, / dev / mem aygıtına benzer, ancak sınırlama olmaksızın / dev / fmem aygıtını oluşturan çekirdek modüldür. Bu cihaz (fiziksel RAM) dd veya başka bir araç kullanılarak kopyalanabilir. 2.6 Linux çekirdeğinde çalışır. GNU GPL’nin altında.
  5. Goldfish
    Goldfish, yalnızca kanun uygulayıcıların kullanabileceği bir Mac OS X canlı adli araçtır. Temel amacı, bir Firewire bağlantısı aracılığıyla hedef makinenin sistem RAM'ını boşaltmak için kullanımı kolay bir arayüz sağlamaktır. Daha sonra otomatik olarak mevcut kullanıcı giriş şifresini ve mevcut olabilecek herhangi bir açık AOL Instant Messenger konuşma parçasını çıkarır. Kanun Yürütme indirme bilgisi için goldfish.ae ile irtibata geçebilir.

Ayrıca Bakınız: Linux Bellek Analizi .
Ayrıca çoğu Linux'ta yaygın olarak bulunan GDB de vardır .
Ve bilinmeyen bellek üzerine yazmaktan kaçınmanız tavsiye edilir - bu sistemin bozulmasına neden olabilir.


1
Bunu yeni bir Ubuntu sisteminde deneyen var mı?

1
debian sistemimde / dev / mem veya / dev / kmem yok.
Rob,

CentOS 7.x VM'mde yeni yaptım.
slm

4

Oynaklık iyi çalışıyor gibi görünüyor ve Windows ve Linux ile uyumlu.

Web sitelerinden:

Oynaklık, tüm büyük 32 ve 64 bit Windows sürümlerinden ve XP, 2003 Server, Vista, Server 2008, Server 2008 R2 ve Seven dahil hizmet paketlerinden gelen bellek yığınlarını destekler. Bellek dökümü ham biçimde, Microsoft çökme dökümü, hazırda bekleme dosyası veya sanal makine anlık görüntüsü olsun, Volatility onunla çalışabilir. Ayrıca, ham veya LiME biçimindeki Linux bellek dökümlerini destekliyoruz ve 2.6.11 - 3.5.x'ten 32 ve 64 bit Linux çekirdeğini analiz etmek için 35+ eklenti ve Debian, Ubuntu, OpenSuSE, Fedora, CentOS ve Mandrake. Hem 32- hem de 64-bitlik Mac OSX bellek dökümlerinin 38 versiyonunu 10,5 - 10,8,3 Mountain Lion arasında destekliyoruz. ARM işlemcili Android telefonlar da desteklenmektedir.



0

Onay olarak, CentOS 7.x VM'nin hafızasını şu yöntemi kullanarak kullanabildim:

$ head /dev/mem | hexdump -C
00000000  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
00000010  53 ff 00 f0 53 ff 00 f0  cc e9 00 f0 53 ff 00 f0  |S...S.......S...|
00000020  a5 fe 00 f0 87 e9 00 f0  53 ff 00 f0 46 e7 00 f0  |........S...F...|
00000030  46 e7 00 f0 46 e7 00 f0  57 ef 00 f0 53 ff 00 f0  |F...F...W...S...|
00000040  22 00 00 c0 4d f8 00 f0  41 f8 00 f0 fe e3 00 f0  |"...M...A.......|
00000050  39 e7 00 f0 59 f8 00 f0  2e e8 00 f0 d4 ef 00 f0  |9...Y...........|
00000060  a4 f0 00 f0 f2 e6 00 f0  6e fe 00 f0 53 ff 00 f0  |........n...S...|
00000070  ed ef 00 f0 53 ff 00 f0  c7 ef 00 f0 ed 57 00 c0  |....S........W..|
00000080  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
*
00000100  59 ec 00 f0 3d 00 c0 9f  53 ff 00 f0 ed 69 00 c0  |Y...=...S....i..|
00000110  53 ff 00 f0 53 ff 00 f0  53 ff 00 f0 53 ff 00 f0  |S...S...S...S...|
*
00000180  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000afea0  00 00 00 00 00 00 00 00  aa aa aa 00 aa aa aa 00  |................|
000afeb0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
...
...
000b0000  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000c0000  55 aa 40 e9 62 0a 00 00  00 00 00 00 00 00 00 00  |U.@.b...........|
000c0010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 49 42  |..............IB|
000c0020  4d 00 9c 80 fc 0f 75 06  e8 4f 01 e9 bc 00 80 fc  |M.....u..O......|

C0000h-effffh aralığında meydana gelen bu 55aah göz önüne alındığında, muhtemelen PNP Genişleme Başlığı:

Referans: BIOS Önyükleme Özelliği

3.3 PnP Genişletme Başlığına sahip Cihazlar

Opsiyon ROM'lu tüm IPL cihazları, 2k sınırında C0000h ve EFFFFh sistem bellek adresleri arasında kalan ve 55AAh ile başlayan geçerli bir opsiyonel ROM başlığı içermelidir. Bir cihazın önyüklemesi yalnızca bir PnP Genişletme Başlığına sahipse kontrol edilebilir. Adresi ofset + 1Ah adresindeki standart ROM başlığı içinde bulunan Genişleme Başlığı, cihazı yapılandırmak için kullanılan önemli bilgileri içerir. Ayrıca, cihazın opsiyon ROM'unda (BCV veya BEV), BIOS'un cihazdan önyüklemek için arayacağını kodlayacak işaretçiler içerir. PnP Genişletme Başlığının yapısı için Ek A'ya bakınız. PnP Genişletme Başlığına sahip bir IPL cihazının önyüklenmesinin iki yolu vardır. BCV veya BEV içermelidir.

Referanslar

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.