gpt4 book ai didi

ubuntu - kprobes 在 Ubuntu 中不起作用

转载 作者:行者123 更新时间:2023-12-04 18:36:54 25 4
gpt4 key购买 nike

我正在尝试从 Systemtap 运行标准示例脚本之一。
procmod_watcher.stp 使用 kprobes 来监视 fork、exec 等。
但是当我尝试运行这个脚本时,我得到了一个错误。

semantic error: while resolving probe point: identifier 'kprobe' at /usr/share/systemtap/tapset/linux/nd_syscalls.stp:967:27
source: probe nd_syscall.execve = kprobe.function("do_execve")

果然: stap -L 'kprobe.function("do_execve")'什么都不返回。
怎么会这样?

我正在使用 Ubuntu 已按照以下说明进行操作:
Systemtap on Ubuntu @sourceware

我还尝试编译我自己的内核并确保通过配置启用 Kprobes、debug_info 和所有其他必需项。
我犯了同样的错误。

我已经在 Fedora 上尝试过相同的脚本,它几乎是开箱即用的。但是我只有一个开启了fedora的虚拟机,并且想继续使用ubuntu一段时间。

我需要做什么才能在 ubuntu 的 systemtap 中启用 kprobes?

最佳答案

kprobe.function探针依靠 systemtap 读取 System.map函数列表文件。跑

stap -vv -L 'kprobe.function("do_execve")'

查看 stap 在哪里寻找该文件;它可能在提示“内核符号表......不可用”。安排放一个 System.map符号链接(symbolic link),stap 应该找到它和 do_execve在其中发挥作用。我们可以扩展 stap 的搜索路径,在其原始位置找到文件;欢迎指点。或者如果问题是权限,
sudo chmod a+r /boot/System.map*

这是为了解决 https://wiki.ubuntu.com/Security/Features 中被误导的部分。 - 参见 https://sourceware.org/bugzilla/show_bug.cgi?id=15172

关于ubuntu - kprobes 在 Ubuntu 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23196278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com