Parafraseando a Pablo Neruda, con el libro de "20 poemas de amor y una canción desesperada", veremos varias maneras de comprobar puertos en Windows con, bueno, no 20 herramientas, pero sí tres, y un Powershell que más que desesperado, es muy socorrido. ¡Vamos allá!
Imagen de Gerd Altmann en Pixabay |
Vamos a utilizar un entorno de 2 maquinas, una "atacante", y otra con IP 192.168.96.128 para las diversas pruebas. Desde la maquina atacante comprobaremos el clásico puerto 80, y el 443, por ejemplo:
Chequeo de puertos con NMAP.
Esto es para comenzar fuerte. Nmap es una herramienta que viene por defecto en Linux, y es realmente potente para muchas funciones. Solo explicar Nmap no es que dé para un artículo aparte, es que da para un libro, sólo para exprimir sus posibilidades. Pero vamos a ver la funcionalidad en Windows.
Porque, sí, es posible instalarlo en Windows, donde además aplica un entorno gráfico que simplifica más cosas. En Windows se llama Zenmap, y lo puedes descargar desde AQUI.
Una vez instalado, lanzamos una consulta simple a los puertos que nos interesa con un nmap -sV -p 80,21,443, 192.168.96.128 (-sV es para comprobar los servicios que usan los puertos que queremos comprobar, y -p especifica los puertos. Realmente Nmap está pensado para rangos muy amplios de redes, no para este tipo de comprobaciones), y obtendremos esto:
Prácticamente de forma automática nos muestra el estado del puerto, y el servicio que lo utiliza.
TCPING
TCPing es una pequeña utilidad que se ejecuta por línea de comandos, y lo que hace es un ping al puerto que le indiques. La utilidad la puedes encontrar AQUI, basta con dejarla en el sitio habitual donde ejecutes este tipo de aplicaciones, y se invoca con "tcping ip puerto. Por ejemplo,
tcping 192.168.96.128 443
Simple, y cómoda. Lástima que no venga integrada en el sistema.
Telnet
¡El viejo Telnet! Antes venia instalada en Windows, ahora debes buscarla como característica de sistema, por el nombre de Telnet Client.
Lanzar telnet es tan simple como, en una ventana de comandos, escribir "telnet ip-destino puerto".
telnet 192.168.96.128 443
Por Si probamos la conexión y esta se ve bloqueada, saldrá el siguiente aviso:
En cambio, si el puerto está abierto, haciendo por ejemplo telnet a 3389, conectará rápidamente, mostrando solamente el prompt:
Powershell
¿Para qué instalar herramientas, si ya tenemos PowerShell? Una herramienta que tenemos disponible sin instalar nada desde Windows Server 2008, pero para sistemas más antiguos, podíamos instalar, incluso en Windows XP.
Para probar un puerto en powershell, la nomenclatura será la siguiente:
Test-netconnection -computername nombremaquina -port 3389
Por ejemplo, Test-NetConnection -computername 192.168.96.128 -port 3389:
Y tenemos los resultados.
Espero os sirva de ayuda a la hora de delimitar problemas de conectividad.