当使用cat或vi打开文本文件时,可能会看到跟踪



是否可以使用eBPF跟踪通过文本文件读取的内容?有一些方法可以查看正在使用的内存量以及读取和写入计数,但如果可能的话,我甚至希望使用bpf_trace_print输出用户数据。

我认为这需要跟踪open()(或openat()(系统调用,并将其(特别是fd(与跟踪的read调用相关联。

/sys/kernel/debug/tracing/events/syscalls/sys_enter_read/format定义了可以访问的系统调用参数。您可能感兴趣的是char *buf缓冲区指针,read()将读取的字节放在这里。

但是,跟踪调用可能在读取任何字节之前发生(需要检查内核源代码(。所以,可能更可靠的方法是使用在read((返回时挂起的原始跟踪点(BPF_PROG_TYPE_RAW_TRACEPOINT(。

相关内容

  • 没有找到相关文章

最新更新