Filtrar Puertos TCP/UDP en Escucha con sudo netstat -tulnp
En el paso anterior, el comando netstat -a nos proporcionó una lista completa pero extensa de todos los sockets. Para hacer que esta información sea más útil, necesitamos filtrarla. En este paso, aprenderá a utilizar opciones específicas con netstat para mostrar solo los puertos TCP y UDP en escucha y, lo más importante, para identificar qué programas los están utilizando.
Para ver el nombre del programa asociado a un puerto, a menudo se necesitan privilegios administrativos, ya que el proceso puede ser propiedad del sistema u otro usuario. Es por eso que usamos el comando sudo. En el entorno LabEx, puede usar sudo sin contraseña.
Ejecutemos un comando netstat más enfocado. En su terminal, escriba lo siguiente:
sudo netstat -tulnp
Desglosemos estas opciones, ya que se combinan comúnmente:
t: Muestra conexiones TCP.
u: Muestra conexiones UDP.
l: Muestra solo sockets en lista (listening). Este es nuestro filtro principal para ver qué servicios están esperando conexiones.
n: Muestra direcciones numéricas. Esto evita que netstat intente resolver direcciones IP y números de puerto en nombres de host y nombres de servicio (por ejemplo, muestra 22 en lugar de ssh), lo que hace que el comando se ejecute mucho más rápido.
p: Muestra el ID de proceso (PID) y el nombre del programa al que pertenece el socket. Esto requiere sudo para ver todos los procesos.
Después de presionar Enter, su salida será mucho más corta e informativa. Se verá algo como esto:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 779/systemd-resolve
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3422/sshd
udp 0 0 127.0.0.53:53 0.0.0.0:* 779/systemd-resolve
Observe la nueva columna al final: PID/Program name. Esta es la información clave. Ahora puede mapear directamente un puerto en escucha a la aplicación exacta que lo abrió. Por ejemplo, en la salida anterior, puede ver que el puerto 22 (el puerto estándar para SSH) está siendo utilizado por el programa sshd con un ID de Proceso de 3422.
Este comando es extremadamente potente para los administradores de sistemas. Les permite verificar rápidamente qué servicios se están ejecutando y están expuestos a la red, lo cual es esencial tanto para la resolución de problemas como para la auditoría de seguridad.