- 主题:请教一个也许是初级的问题
我用了很多年Linux,但是对内核一直只有很粗浅的认识。下面这个需求,不知道有没有可能实现?
我需要截断对文件系统的访问,监控一些信息。这个功能是现有的,实现方式是嵌入在内核里发布。本来客户也能接受。
但现在客户经常需要升级内核,每升级一次,我们就需要根据他的版本,重新编译出一个版本,再让客户安装。客户很烦。
Linux内核是否允许注册一个hook,这个hook在kernel里只是一个空壳,仅仅是根据某个配置加载指定的一个库,后面的逻辑都在这个库里。这样的话,我就不用跟着kernel版本走了,这个库和这个配置文件留在那里即可。
请问有这个可能性吗?
谢谢!
--
FROM 222.128.36.*
你看看ebpf能不能实现你说的?
【 在 Space (我们都会老去) 的大作中提到: 】
: 我用了很多年Linux,但是对内核一直只有很粗浅的认识。下面这个需求,不知道有没
: 有可能实现?
: 我需要截断对文件系统的访问,监控一些信息。这个功能是现有的,实现方式是嵌入在
: 内核里发布。本来客户也能接受。
: 但现在客户经常需要升级内核,每升级一次,我们就需要根据他的版本,重新编译出一
: 个版本,再让客户安装。客户很烦。
: ...................
--
FROM 125.123.87.*
LD_PRELOAD
【 在 Space (我们都会老去) 的大作中提到: 】
: 我用了很多年Linux,但是对内核一直只有很粗浅的认识。下面这个需求,不知道有没有可能实现?
: 我需要截断对文件系统的访问,监控一些信息。这个功能是现有的,实现方式是嵌入在内核里发布。本来客户也能接受。
: 但现在客户经常需要升级内核,每升级一次,我们就需要根据他的版本,重新编译出一个版本,再让客户安装。客户很烦。
: ...................
--
FROM 114.88.119.*
空壳的hook你不是一样要改内核?
Linux有的是发布闭源binary的办法,你可以研究一下现在那些驱动怎么做的
【 在 Space 的大作中提到: 】
: 我用了很多年Linux,但是对内核一直只有很粗浅的认识。下面这个需求,不知道有没有可能实现?
: 我需要截断对文件系统的访问,监控一些信息。这个功能是现有的,实现方式是嵌入在内核里发布。本来客户也能接受。
: 但现在客户经常需要升级内核,每升级一次,我们就需要根据他的版本,重新编译出一个版本,再让客户安装。客户很烦。
: ...................
--
FROM 27.91.71.*
有没有可以通过配置指定某种hernel hook加载某个库的办法啊?
如果是我加进去的hook,空壳的确也是要改内核,但是如果有现成的hook接口,通过配置呢,不就可以了么。
客户要装什么kernel,是我无法控制的。
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 空壳的hook你不是一样要改内核?
: Linux有的是发布闭源binary的办法,你可以研究一下现在那些驱动怎么做的
--
FROM 125.34.17.*
这个完全解决不了我的问题啊。也许你还没明白我的问题。
【 在 rockyzhang (例如,每天爱你多一些) 的大作中提到: 】
: LD_PRELOAD
--
FROM 125.34.17.*
这个东西貌似很复杂,我仔细看看,目前还没搞明白,不知道能不能。
谢谢!
【 在 lcoudy (怕烫的猪) 的大作中提到: 】
: 你看看ebpf能不能实现你说的?
--
FROM 125.34.17.*
Linux的话,你阻止不了进程调用syscall啊
Windows的话因为微软不鼓励也不保证syscall的兼容性,你才可以hook win32 api。
【 在 Space 的大作中提到: 】
: 有没有可以通过配置指定某种hernel hook加载某个库的办法啊?
: 如果是我加进去的hook,空壳的确也是要改内核,但是如果有现成的hook接口,通过配置呢,不就可以了么。
: 客户要装什么kernel,是我无法控制的。
: ...................
--
FROM 27.91.71.*
对不起,不太明白“进程调用syscall”和我的问题有什么关系?
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: Linux的话,你阻止不了进程调用syscall啊
: Windows的话因为微软不鼓励也不保证syscall的兼容性,你才可以hook win32 api。
--
FROM 125.34.17.*
你不截获系统调用,那么进程直接自己放几个自陷指令怎么防?
【 在 Space 的大作中提到: 】
: 对不起,不太明白“进程调用syscall”和我的问题有什么关系?
:
--
FROM 27.91.71.*