it-swarm-es.com

¿Cómo averiguro qué proceso un socket que escucha está vinculado a Solaris 8?

En un servidor Solaris 8, ¿cómo averiguro qué proceso está escuchando en un puerto dado? La implementación de Windows de 'NetStat' ofrece los conmutadores -o y -B, que muestran la identificación y el nombre de proceso de propiedad, respectivamente. ¿Hay un equivalente bajo Solaris?

3
Murali Suriar

lsof -i

No viene instalado de forma predeterminada, pero puede obtener la versión de Solaris de http://www.sunfreeware.com/

6
vartec

Si no desea o no puede instalar LSOF, también puede probar el comando pfiles. Imprime todos los sockets abiertos por un proceso dado. Si no tuviera otra opción, podría iterar a todos los PID y encontrar el que escucha, digamos, Port 25:

PORT=25
for p in $(ps -eo pid)
do
  OUT=$(pfiles $p)
  if [[ "$OUT" =~ port:\ ${PORT} ]]
  then
    echo $p
  fi
done
4
automatthias