/proc/kcore/가 너무 커서 Ubuntu 18.04에서 메모리 덤프가 실패합니다.

/proc/kcore/가 너무 커서 Ubuntu 18.04에서 메모리 덤프가 실패합니다.

Linux에서 linpmem을 사용하여 메모리를 얻는 방법에 대한 두 가지 훌륭한 기사가 있습니다.

센스 내 맥주를 안전하게 지켜줘

부터 시작해 보세요내 맥주를 안전하게 지켜줘좀 더 일반적인 문제인 것처럼 보이는 다음 문제에 직면했습니다.

wget https://github.com/google/rekall/releases/download/v1.5.1/linpmem-2.1.post4 chmod +x linpmem-2.1.post4 ./linpmem-2.1.post4 -o mem.aff4r

직접 실행하고 대용량 파일을 생성합니다(160GB 이상 중지). 좀 더 자세히 살펴보면 데이터를 얻기 위해 linpmemLinux 메모리 매핑을 사용합니다 ./proc/kcore

sudo ls -lh /proc/kcore -r-------- 1 root root 128T Dec 12 11:32 /proc/kcore

이건 엄청나다! 명시된 바와 같이여기...

... /proc/kcore커널의 가상 RAM 할당입니다. 64비트 시스템에서 이 크기에 대한 절대적인 제한은 128T입니다. 이는 시스템이 할당할 수 있는 최대 용량이기 때문입니다.

이것은 다소 반대입니다 man proc.

   /proc/kcore
          This file represents the physical memory of the system and  is  stored  in  the  ELF  core  file  format.   With  this  pseudo-file,  and  an  unstripped  kernel
          (/usr/src/linux/vmlinux) binary, GDB can be used to examine the current state of any kernel data structures.

          The total length of the file is the size of physical memory (RAM) plus 4 KiB.

따라서 가장 큰 질문은 메모리/스왑 영역만 가져오고 하드 드라이브 내용은 가져오지 않는 방법입니다.

관련 정보