使用BCC工具获取Linux内核空间read/write操作的文件名

使用BCC工具获取Linux内核空间read/write操作的文件名

一个文件的文件名信息保存在file结构体中,具体为file->f_path.dentry->d_iname;

那么如何在实际环境上使用bcc工具探测一个进程操作的文件名呢?以read文件为例,在内核中可以抓取vfs_read函数,该函数的原型为:

ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);

bcc使用trace工具抓取的命令为:

./trace -I “linux/fs.h” ‘p::vfs_write(struct file *file) “%s”, file->f_path.dentry->d_iname’ -p PID

同时可以指定特定的进程或者设置相关的过滤条件。

猜你喜欢

转载自blog.csdn.net/biaotai/article/details/108205373