En Linux existen múltiples formas de averiguar qué servicios están escuchando un determinado puerto TCP o UDP. Aquí sólo nos vamos a centrar en las más rápidas, que Internet ya está lleno de peroratas interminables.
- netstat – es una herramienta que muestra un listado de las conexiones activas de una computadora, sean entrantes o salientes: protocolo en uso, las tablas de rutas, las estadísticas de las interfaces y el estado de la conexión.
- lsof – es una herramienta de monitorización para Unix que se utiliza para mostrar todos los archivos de disco que mantienen abiertos los procesos, incluyendo los sockets de red abiertos, tuberías, etc.
Son herramientas bastante diferentes en su naturaleza, y sin embargo en este caso son igual de eficientes. Vamos a utilizar ambas para averiguar qué servicios está escuchando el puerto 80…
Utilizando netstat
En realidad lo único que estamos haciendo es aplicar el filtro de cadenas que contengan :80 a la salida de netstat -tulpn, que por sí solo muestra todas las conexiones abiertas en el sistema.
netstat -tulpn | grep :80
Utilizando lsof
Resulta que lsof tiene un modo especial para mostrar los procesos que escuchan un determinado puerto: se trata del parámetro -i. Con el filtro LISTEN nos aseguramos de que solamente se muestran los procesos «en servicio».
lsof -i :80 | grep LISTEN
Y esto es todo: hemos averiguado que, en este caso, el servicio que corre en el puerto 80 es nginx, un servidor web ligero de alto rendimiento.
Y vosotros, ¿conocéis alguna forma aún mas rápida de averiguar qué aplicaciones escucha un determinado puerto? Os retamos 🙂
Escribir un comentario