lsmod 和 /proc/modules 是否使用相同的机制来检索模块?

use*_*954 5 linux-kernel kernel-module

我可以使用lsmod或获取模块列表cat /proc/modules。这两种方法是否使用相同的机制来检索模块?我想知道这一点,因为我们可以用它来找到一些隐藏的恶意模块。

bah*_*mat 4

它们都读取相同的内核接口来生成列表。然而,rootkit 可能会改变 lsmod 来隐藏模块,但读取 /proc/modules 的方法有很多种,而 rootkit 几乎不可能修改所有这些模块。

如果您正在做一些编程性的事情,那么使用哪一个并不重要,但 lsmod 更具人类可读性。

更新:包括示例。

cat /proc/modules
more /proc/modules
less /proc/modules
view /proc/modules
uniq /proc/moduels
uniq < /proc/modules
grep . /proc/modules
grep . < /proc/modules
awk '{print}' /proc/modules
awk '{print}' < /proc/modules
sed 's/(.)/$1/' < /proc/modules
echo "$(</proc/modules)"
perl -p -e ";" < /proc/modules
nc -l 11111 & nc localhost 11111 < /proc/modules
Run Code Online (Sandbox Code Playgroud)

等等,等等,任何可以读取文本的东西都可以显示内容。这些只是我在一分钟内想到的一些内容。如果我思考一下,我可以想出一些非常深奥的方法。