Cómo comprobar los puertos TCP/IP abiertos en Windows
Como desarrollador, tiendo a escribir aplicaciones tipo servidor que exponen servicios a través de puertos TCP/IP. Esta es una práctica común cuando se desarrollan aplicaciones que usan la arquitectura cliente-servidor (aplicaciones web, servicios web, etc.). Frecuentemente, puedes encontrarte con conflictos con otras aplicaciones o servicios que se ejecutan en la misma máquina y que usan el mismo puerto. A continuación, una guía rápida sobre cómo comprobar si un puerto TCP/IP está abierto en Windows.
Usando el comando netstat
El comando netstat es una herramienta de línea de comandos que proporciona estadísticas para los protocolos TCP/IP y UDP. Está disponible en todos los sistemas operativos Windows modernos.
El siguiente comando listará todos los puertos abiertos en orden numérico incluyendo el ID del proceso (PID) que ha abierto el puerto:
netstat -anb
La siguiente captura de pantalla muestra la salida del comando anterior ejecutándose en mi máquina Windows XP:
Como puedes ver en la captura de pantalla, la salida muestra que el puerto 80
está siendo usado por el proceso hfs.exe
con PID 1368
.
Los parámetros usados en el comando son:
-a
- Muestra todas las conexiones TCP activas y los puertos TCP y UDP en los que el equipo está escuchando.-n
- Muestra las conexiones TCP activas. Las direcciones y los números de puerto se expresan numéricamente y no se intenta determinar los nombres.-b
- Muestra el ejecutable involucrado en la creación de cada conexión o puerto de escucha.
Puedes leer más sobre el comando netstat en la documentación de Microsoft.