22.2. 使用 execsnoop检查系统进程
BCC 套件的 execsnoop 工具会捕获并实时显示新的进程执行事件。它可用于观察系统上正在执行哪些命令或二进制文件,以帮助调试、审计和安全监控。
流程
在一个终端中运行
execsnoop程序:/usr/share/bcc/tools/execsnoop
# /usr/share/bcc/tools/execsnoopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要创建一个短暂的
ls命令的进程,请在另一个终端中输入:ls /usr/share/bcc/tools/doc/
$ ls /usr/share/bcc/tools/doc/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行
execsnoop的终端显示类似如下的输出:PCOMM PID PPID RET ARGS ls 8382 8287 0 /usr/bin/ls --color=auto /usr/share/bcc/tools/doc/
PCOMM PID PPID RET ARGS ls 8382 8287 0 /usr/bin/ls --color=auto /usr/share/bcc/tools/doc/Copy to Clipboard Copied! Toggle word wrap Toggle overflow execsnoop程序打印消耗系统资源的每个新进程的输出行。它甚至会检测很快运行的程序(如ls)的进程,大多数监控工具也不会进行注册。execsnoop输出显示以下字段:- PCOMM
-
父进程名称。(
ls) - PID
- 进程 ID。(8382)
- PPID
- 父进程 ID。(8287)
- RET
- exec ()系统调用(0)的返回值,它将程序代码加载到新进程中。
- ARGS
启动的程序的参数的位置。
如需更多信息,请参阅系统中的
/usr/share/bcc/tools/doc/execsnoop_example.txt文件和exec (3)手册页。