【发布时间】:2020-02-13 23:57:12
【问题描述】:
我正在使用密件抄送跟踪多个系统调用,为什么我可以使用简单的attach_kprobe 跟踪诸如write、close、fchown 之类的系统调用,但无法跟踪诸如stat、@ 之类的系统调用987654326@?
我假设是其他系统调用,我无法跟踪但尚未找到哪些系统调用。我如何追踪stat、fstat 以及它们与通常的write、close 有何不同?
示例代码:
b = BPF(text=prog)
b.attach_kprobe(event=b.get_syscall_fnname("fstat"), fn_name="syscall_fstat")
在我的 prog 中,我做了一个简单的打印
int syscall_fstat(void *ctx){
bpf_trace_printk("fstat\n");
return 0;
}
【问题讨论】:
-
你能发布你在这两种情况下使用的代码吗?是什么让你认为你无法追踪它们?你有错误信息吗?
-
没有错误信息。要触发 fstat,我相信“ls”应该就足够了,但我从来没有看到证实这一点的输出。另一方面,当使用 write 时,我可以看到输出