3

有以下进程: NetAuthSysAgent 重复调用/创建一个不存在的 NFS 共享的进程 mount_nfs。我有一种预感,这些调用是由另一个给出指令的进程触发的。

因此,我想分析 NetAuthSysAgent,可能使用 dtrace,并查看该进程的所有输入(如 IPC,包括信号、队列、文件、套接字等),并在调用 mount_nfs 之前验证所有读取文件或内存区域过程。

我怎样才能做到这一点?dtrace 是否合适,如果合适,如何?

欢迎任何帮助。即使它只能在 FreeBSD 或 Solaris 上应用/工作,我也可以尝试自己将其适应 OS X。

更新:
我一直在使用以下命令,但我只介绍了文件部分:

dtrace -q -n syscall::open:entry'{ printf("%-16s %-16s\n",execname,copyinstr(arg0)); }'

上面的命令给了我进程和打开的文件。

opensnoop -va -n NetAuthSysAgent

上面的命令是一个调用 DTrace 的脚本,它与前面的命令大致相同,但它被进程 NetAuthSysAgent 过滤并提供了更多信息(例如 UID、PID、FD 等)

4

0 回答 0