
En el resultado de nmap -p- localhost
obtengo un puerto TCP abierto desconocido, que es diferente en cada reinicio. ¿Cómo puedo determinar qué proceso lo abrió y lo escucha? Probé muchas de las herramientas habituales ( ,, netstat
) pero no puedo encontrar al culpable. P.ej. no proporciona PID/nombre de programa:ss
lsof
sudo netstat -pan -Ainet | grep <PORT>
tcp 0 0 0.0.0.0:<PORT> 0.0.0.0:* LISTEN -
¿Quizás debería analizar la secuencia de inicio? ¿Pero cómo es eso?
¿Alguien podría ayudar?
Respuesta1
Comoinsinuado, ss
también puede proporcionar la respuesta; la sintaxis es:
sudo ss --tcp --listening --processes 'sport = 1234'
¿Dónde 1234
está el puerto del día de su escaneo de nmap? Esto limita la salida a los puertos TCP y muestra el nombre del proceso y el PID que escucha en ese puerto. sudo
solo es necesario si desea la --process
bandera, que proporciona el nombre del proceso y el PID.
Respuesta2
Netstat hace exactamente lo que usted pide, cuando se ejecuta como root y con las banderas correctas:
sudo netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 1931/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 32296/cupsd
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 1550/postgres
tcp6 0 0 :::80 :::* LISTEN 3198/docker-proxy
Además, ss
reemplaza netstat
y toma en su mayoría las mismas banderas, pero tiene una salida con un formato diferente.
Respuesta3
Algunos puertos abiertos por el kernel y por algunos servicios específicos (NFS, OCFS, túneles ssh) no son visibles con netstat ni ss