查找进程的父进程

Con*_*ick 2 process shell-script

我正在尝试编写一个脚本来帮助提高计算机安全性。我试图寻找开放的端口,找到 PID,并找到它的名字。

我让它工作,我的输出看起来像这样:

IPV4 - 1234 - 2566/nc
Running from: `/bin/nc.openbsd`
Command run: `nc -l 1234`
Run Code Online (Sandbox Code Playgroud)

我能够从哪里获得这些值netstat/proc/$PID/exe以及/proc/$PID/cmdline

然而,在寻找后门的性质中,我的电脑上可能有一个脚本,它会调用nc. 是否可以从 的 PID 中nc找到原始脚本位置?我试过查看其他文件/proc/$PID/*无济于事。

说在/etc/rc.local我把线nc -l 1234,我能得到一些东西,告诉我 nc 命令是由打开的/etc/rc.local吗?

jof*_*fel 10

要可移植地(POSIXly)获取进程的父PID,您可以使用:

ps -p "$PID" -o ppid=
Run Code Online (Sandbox Code Playgroud)

或(在 Linux 上):

grep '^PPid' "/proc/$PID/status" |cut -f2
Run Code Online (Sandbox Code Playgroud)

有关更多方法,请参阅https://superuser.com/questions/150117/how-to-get-parent-pid-of-a-given-process-in-gnu-linux-from-command-line