“netstat -p”/“ss -p”不显示监听端口的进程

“netstat -p”/“ss -p”不显示监听端口的进程

在我的 CentOS 7 上,有一次sudo ss -plt列出了一个标记为 LISTENING on 的端口*:30565,但其所在行的进程列中没有任何信息。其他侦听端口照常显示其所属进程,例如users:(("sshd",pid=1381,fd=3)),但这一行没有任何进程信息。lsof -i :30565或者netstat -p也没有产生任何信息。

我无法重现这一点,并且我很难想象“非进程”可能正在端口上侦听的情况(因为我非常确定当 tcp 侦听进程终止时 Linux 会执行预期的清理工作)。由于多个程序也会发生这种情况,我能想到的唯一解释是,这是 CentOS 的“有意但非常 rootkit-y”行为,但我肯定错过了一些东西。可能是什么原因造成的?

答案1

在某些情况下(例如 NFS)不显示进程信息的一点netstat是,NFS 是一个内核模块,因此它不会作为正常进程运行,并且没有 PID。

如果您的 google 搜索中包含 NFS,您可以定期找到有关此情况的线程:

netstat 不报告某些端口的 PID/程序名称

注意:对于其他不使用 sudo 的用户,使用 -p 需要 root 权限才能显示端口的相关进程。

相关内容