Solaris 10 - 查找附加到侦听端口的服务

Solaris 10 - 查找附加到侦听端口的服务

我正在诊断旧的 Solaris 10 版本,在端口扫描期间我发现了一个开放端口,该端口不在该服务器的批准列表中。

我尝试了各种开关组合netstat,但似乎无法获得正确的输出来提供相关的服务名称或开放端口的 PID。

与更高版本的 Solaris 版本和其他 UNIX 操作系统相比,此版本上的 netstat 功能集似乎受到限制。netstat -tulpn例如不起作用。

lsof由于安全限制,我也无法安装。

有任何想法吗?

答案1

对于 Solaris,您可以使用pfiles <pid>查看某个进程打开了哪些网络端口。使用 for 循环,/proc/*您可以在每个正在运行的进程上使用它pfiles来查找您要查找的端口。缺点是您需要使用rootSolaris 10,或者能够pfexec pfiles在 Solaris 11 上获得特权 ( ) 才能获取信息。

如果您能够进入rootSolaris 主机,您应该能够使用以下内容:

PORT=22; for PID in /proc/*; do pfiles ${PID} |grep "port: ${PORT}" && echo ${PID}; done

这将迭代/proc/*并过滤指定的端口,如果找到匹配项,则进程 ID ( /proc/####) 将显示在下一行。

相关内容