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