#strace #syscalls #trace #fs #file #directory #sockets

应用程序 ftrace

ftrace - 跟踪文件和路径

7 个版本

0.2.1 2022年1月3日
0.2.0 2021年11月6日
0.1.4 2021年11月4日
0.1.3 2021年2月9日
0.1.2 2021年1月31日

#1197文本处理

Unlicense OR MIT OR Apache-2.0

62KB
1.5K SLoC

crate documentation

ftrace

类似于 strace,但列出程序访问的文件。受 tracefile 启发。

此工具的主要目的是帮助发现程序在其生命周期内访问哪些文件/目录。它通过利用 strace 并解析其输出来找出访问了哪些文件和文件夹。

它支持各种选项,例如基于文件类型(文件、目录、符号链接、管道、套接字、可执行文件等)进行过滤。

用法

查看 ls 在正常运行期间访问的文件

ftrace -- ls

查看所有可执行文件

ftrace --type f --type x -- ls

查看程序尝试访问的所有路径(即使是那些不存在的路径。这有时有助于理解程序使用的搜索算法,例如查找链接库等)。

ftrace --non-existent -- ls

附加到已运行进程(请注意,这需要提升权限)

ftrace --pid 1729

注意事项

由于 strace 通过标准错误输出,如果正在运行的程序也在标准错误输出中发出输出,则可能会混淆 ftrace。因此,ftrace 不会识别的任何行都将被忽略并不会解析。您可以使用 --invalid 标志打印未识别的行。

安装

首先,请确保您已在系统上安装了 strace。它几乎总是存在于您的发行版的包管理器中。

预编译的二进制文件

即将推出!(GitHub actions 尚未为此存储库配置。)

通过 Cargo

注意:所需的最小 Rust 版本是 1.46.0

cargo install ftrace

从源代码(通过 Cargo)

注意:所需的最小 Rust 版本是 1.46.0

git clone https://github.com/acheronfail/ftrace/
cd ftrace
cargo install --path .

许可证:Unlicense OR MIT OR Apache-2.0

依赖关系

~7–16MB
~221K SLoC