是否可以从系统物理内存的快照中计算出 Linux 内核版本?
Posted
技术标签:
【中文标题】是否可以从系统物理内存的快照中计算出 Linux 内核版本?【英文标题】:Is it possible to figure Linux kernel version from a snapshot of system physical memory? 【发布时间】:2017-11-02 00:01:48 【问题描述】:我想知道如果给出运行 Linux 操作系统的物理内存操作系统系统的快照,是否有可能弄清楚它运行的内核版本是什么?我无权访问图片或任何内容。
【问题讨论】:
内存转储,或者:核心转储? 【参考方案1】:内核版本在内核的物理内存转储中,由 /proc/version 从定义在 include/uapi/linux/utsname.h 中的 struct new_utsname 返回。我建议首先在内核转储中尝试“字符串”命令,并尝试识别通常由 /proc/version 返回的模式的一部分。
Linux 源码 init/version.c 定义如下:
const char linux_banner[] =
"Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@"
LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"
因此,在转储中搜索字符串“Linux 版本”应该会为您提供包含 /proc/version 返回的信息的 linux_banner 字符串的位置。
【讨论】:
以上是关于是否可以从系统物理内存的快照中计算出 Linux 内核版本?的主要内容,如果未能解决你的问题,请参考以下文章
Linux 操作系统原理 — 内存 — 物理存储器与虚拟存储器