如何在 Fedora Linux 机器上查看快速生成/终止的进程?

如何在 Fedora Linux 机器上查看快速生成/终止的进程?

在 Windows 上,有一个程序可供下载,它是所谓sysinternals suite的工具的一部分。该程序称为 Process Explorer 64 又名 ProcExp64。该程序对于识别机器上的潜在恶意软件非常有用,因为恶意软件的一种常见行为是启动和终止进程的速度比典型程序和/或人眼可以感知/注意到的速度要快得多。这对使用 Windows 任务管理器提出了挑战,因为恶意软件可能会快速启动、启动子进程、注入另一个进程,然后在 1 秒内(甚至可能在 200 毫秒内)杀死该子进程。 ProcExp64 具有所谓的功能Difference Highlight Duration,可以将被杀死的进程突出显示为指定的颜色,并将其保留在进程列表中一段时间​​,即使在它被杀死之后也是如此。事实上,用户甚至可以指定“滚动到新进程”,我只是PID在 linux 中使用 sort by for htop。我确实看到了一个update time设置,htop但如果我把它放大,它可能会完全错过发布。

在 Linux 上,我发现了类似的问题,但我不知道如何解决它。在这种情况下,我并不是想观察恶意软件,而是想观察其他快速启动和退出的非恶意进程。例如,我注意到当我输入命令时ps aux | grep ld-linux,我得到了一个输出,但是当我查看时htop,没有这样的进程仍在运行,因为我相信ld-linux可执行文件退出并且只存在于shared object (.so)空间中,而不是作为一个单独的进程(我可能错了,但这就是我理解发生的事情的方式)。我怀疑这种情况的一个原因是,每次我运行上述命令时,PID 都会不断增加,因为ld-linux我认为这是在实际加载过程中为其ps自身加载的实例(再次强调,这只是猜测)。有没有办法使用htop或其他工具来观察这种情况,以对加载器进程在进程表/列表中的存在进行某种延迟ld-linux,并以其他方式突出显示它以使其脱颖而出?

答案1

您可以使用位于以下位置的内核跟踪工具: github,或者在一个名为 或类似的包中bcc-tools ,具体取决于您的系统。例如,它包含execsnoop 跟踪exec()系统调用。它需要以 root 身份运行,并且您的内核需要使用适当的标志进行编译,这通常是这种情况。请参阅教程

相关内容