Diferentes formas de ver puertos abiertos en Windows

Diferentes formas de ver puertos abiertos en Windows

Cuando trabajamos con redes y comunicaciones, lo hacemos con dispositivos/aplicaciones que emplean direcciones IP y puertos para “escuchar y ser escuchados”. Si los puertos no están abiertos y necesitamos comunicarnos, por ejemplo, con un equipo remoto a través del TCP 3389 esto no será posible si el puerto resulta bloqueado por algún motivo.

Por eso resulta de ayuda ver en primer lugar qué puertos están abiertos en Windows y así saber si el causante es una política restrictiva del firewall u otro diferente.  Para ver qué puertos están abierto en Windows he reunido diferentes métodos para garantizar vuestra comodidad y compatibilidad con cualquier versión.

Formas de mostrar los puertos abiertos en Windows

Telnet

Mediante el comando telnet podemos comprobar un puerto determinado contra una máquina remota a la que conectarnos.

telnet <dirección IP> <puerto>

Ejemplo de uso:

Uso de telnet

Si al pulsar intro recibimos un mensaje de error, el equipo remoto no está escuchando por el puerto especificado. Si la salida que obtenemos es la siguiente, pero si se nos devuelve un prompt o cursor parpadeante, querrá decir que la conexión está establecida.

NOTA: para esto deberemos tener habilitado, previamente, el cliente telnet de Windows que nos permitirá conectar mediante este protocolo. Para ello accederemos al panel de control > Programas y características > Activar o desactivar características de Windows:

Habilitar cliente telnet en Windows

Además, para asegurarnos de que el puerto efectivamente está abierto -si aún tenemos dudas- podemos emplear uno de los siguientes trucos.

Netstat

Como sabéis muchos, la utilidad netstat de Windows nos permite ver una valiosa cantidad de información sobre nuestras conexiones de red. Usaremos el comando con la siguiente sintaxis:

netstat -an |findstr <puerto>

Al sustituir puerto por el que estamos buscando, obtendremos una lista más reducida y por tanto más fácil de ver, donde se mostrarán los valores coincidentes con ese número.

Opciones:

  • -a: veremos el listado completo de conexiones en uso
  • -n: veremos el número de puerto empleado
  • -o (opcional): veremos el binario o ejecutable asociado a la conexión

Ahora, si queremos guardar estos datos para consulta posterior añadiremos al final del comando la ruta y nombre de archivo (.txt):

Netstat -an | findstr <puerto> > <ruta>

Ver puertos abiertos PC Windows

Un ejemplo sería el siguiente:

netstat -an |findstr 3389 > C:\LOG\PUERTOS.TXT

PowerShell

Para sistemas operativos Windows 8 y posteriores, así como Windows Server 2012 en adelante, es posible ver los puertos abiertos mediante PowerShell.

Test-NetConnection <IP> -Port <puerto>

En el ejemplo podemos ver una conexión satisfactoria mediante TCP hacia el puerto indicado:

Test de conexión mediante Powershell

Existen otras alternativas basadas en .NET Framework, que podemos buscar si queremos usar versiones de PowerShell antiguas que no soportan el comando Test-NetConnection.

Netcat

Si descargamos la herramienta Netcat también podemos comprobar el estado de los puertos rápidamente. Bastará con introducir un comando como el que sigue:

nc -zvv <dirección> <puerto>

Por ejemplo, si lo lanzamos contra http://www.google.com por el puerto 80 recibiríamos una respuesta así:

www.google.com [108.177.96.103] 80 (http) opensent 0, rcvd 0

Portqry

La pequeña utilidad Portqry (diseñada por la propia Microsoft) también puede servirnos de ayuda y además funciona sin problemas con cualquier versión de Windows desde Windows 2000 o Windows XP en adelante.

Y como os podéis imaginar aún hay muchas otras opciones de ciertos desarrolladores que nos permiten ver la información sobre puertos en el sistema operativo Windows.

Determinar el estado de los puertos mediante firewall

Como siempre me gusta dejaros un detallito –y viéndolo todo siempre desde el prisma de la seguridad informática- os sugiero además probar la siguiente herramienta de Gibson Research Corporation.

ShieldsUP! Determina qué puertos están abiertos en nuestro PC, de entre los primeros 1056 puertos (los principales del equipo) que contienen HTTP/S, SSH, FTP, RDP y muchos otros. Nos dirá en segundos si están abiertos, cerrados o invisibles.

Ver estado de puertos router

También se pueden comprobar otro tipo de puertos menos habituales. Es importante tener en cuenta dos nociones fundamentales respecto a los puertos del firewall:

  1. No deben estar abiertos más de los estrictamente necesarios para nuestras aplicaciones.
  2. Es importante que los puertos no comuniquen su estado a las direcciones remotas. Incluso aunque estén cerrados y como tal se lo digan al emisor. El motivo es que en los casos de rechazo de conexión aun puerto, estaremos respondiendo al posible atacante con algunos datos sobre nuestra conexión que le podrían ser de ayuda.

Deja tu comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s