driver, module以及怎么看他们

1. driver和module的区别

  https://unix.stackexchange.com/questions/47208/what-is-the-difference-between-kernel-drivers-and-kernel-modules

大体上可以这样认为,他们都是运行在kernel空间的程序。driver是随系统启动加载的,而module是启动后可以手动加载/卸载的。module更具与灵活性。能用module方式的就用module方式。

2. 怎么查看所有已加载的driver?

3. 怎么查看所有可用的module?假设系统应该有个默认路径,存在该路径下的module(*.ko)可以直接在任何地方使用insmod进行加载。当然自己编译的module没有放在默认路径就只能进入实际路径进行insmod。

4. 怎么查看所有已经loaded的module?这是本篇笔记的动机。本来的目的是想看内核fuse是不是一个被加载的module。

 参考: http://www.s0ftpj.org/docs/lkm.htm

lsmod provides the administrator a listing of all modules currently loaded in the kernel. This list can also be found at /proc/modules. This is helpful if you want to figure out what modules are currently running. You will see a little later that lsmod is not always a good tool to use for the detection of rootkit LKM’s.

意思是,lsmod列出目前已经loaded的module。但是他并不能检测出所有的,特别是恶意的。后文介绍了详细。

17.5.14.

5. 查看内核所有的可用变量和函数

参考 https://onebitbug.me/2011/03/04/introducing-linux-kernel-symbols/

主要是 /proc/kallsyms 文件

-------------------------------------------------------------------------------------------

ref:

https://bbs.archlinux.org/viewtopic.php?id=14172

This will provide a list of modules
modprobe -c | less

http://www.s0ftpj.org/docs/lkm.htm

原文地址:https://www.cnblogs.com/bettersky/p/6848467.html