Inicio
» WINDOWS
»
Cómo comprobar si hay puertos abiertos en Windows Server
Cómo comprobar si hay puertos abiertos en Windows Server
Para comprobar si hay puertos abiertos en un servidor Windows, liste sus oyentes locales y, a continuación, pruebe desde otro equipo si los clientes pueden acceder a ellos. Un puerto de escucha no es automáticamente accesible a través de la red: la vinculación del servicio, el Firewall de Windows, los firewalls de red, el enrutamiento y la NAT pueden afectar al acceso. Analice únicamente los sistemas de su propiedad o para los que esté autorizado a acceder.
Enumera los oyentes TCP locales con PowerShell.
En el servidor, abre PowerShell y ejecútalo Get-NetTCPConnectioncon el Listenestado. Ordenar por puerto facilita la revisión de la lista, mientras que las columnas seleccionadas muestran la dirección, el puerto y el ID del proceso.
PowerShell muestra los puntos finales TCP en estado de escucha con sus direcciones locales, puertos e identificadores de proceso.
Cada fila representa un punto final TCP en estado de escucha. Una dirección de 0.0.0.0o ::indica que el oyente está vinculado a todas las interfaces IPv4 o IPv6, respectivamente. Una dirección como 127.0.0.1o ::1es de bucle invertido únicamente, por lo que los equipos remotos no pueden conectarse a ese oyente a través de una interfaz de red.
Para inspeccionar un puerto, agregue su número a la consulta:
Utilice el ID de proceso devuelto para identificar al propietario, por ejemplo con Get-Process -Id 1234(reemplace 1234con el PID en su salida). Microsoft documenta los campos connection-state, local-port y owning-process del cmdlet en su referencia Get-NetTCPConnection .
Utilice netstat para ver los oyentes y los ID de los procesos.
netstatEs una alternativa integrada que funciona desde el símbolo del sistema o PowerShell. Este comando filtra la salida a los puertos TCP en escucha:
netstat -ano -p tcp | findstr LISTENING
La salida de netstat asocia cada punto final TCP de escucha con un ID de proceso.
Los interruptores significan: -aincluye oyentes, -nmantiene las direcciones numéricas, -oagrega el PID y -p tcplimita la vista a TCP. Haga coincidir un PID en el Administrador de tareas o use Get-Process -Id 1234. Para puntos finales UDP, ejecute netstat -ano -p udp; UDP no tiene estado al estilo TCP . Consulte la referencia de netstatLISTENING de Microsoft .
Comprueba los puertos con Microsoft PortQry.
PortQry versión 2 es una utilidad independiente de Microsoft para comprobar los puertos TCP y UDP. Descárguela y extráigala en una carpeta como C:\Tools\PortQryV2, luego abra PowerShell allí. Para listar las asignaciones activas en ese equipo, ejecute:
.\PortQry.exe -local
El modo local muestra las asignaciones TCP y UDP activas y puede incluir identificadores de proceso; úselo para inventario, no para accesibilidad remota. Para consultar otro servidor, especifique su nombre o dirección IP, protocolo y puerto:
Este ejemplo comprueba el puerto TCP 443 en otro host; sustituya el nombre de host por el de un servidor que tenga autorización para probar.
Para una consulta remota, LISTENINGsignifica que PortQry recibió una respuesta; NOT LISTENINGsignifica que recibió una respuesta que indica que no hay ningún oyente. FILTEREDsignifica que no hay respuesta, por lo que un firewall puede estar bloqueando el tráfico y un proceso puede o no estar escuchando. UDP puede ser menos concluyente porque los servicios pueden ignorar las sondas sin formato. Consulte la guía de PortQry de Microsoft .
Prueba la accesibilidad desde otro ordenador.
Una comprobación realizada en el servidor no puede demostrar que un cliente en otra red pueda conectarse. Desde un cliente Windows en la ruta que desea verificar, ejecute:
Reemplace el nombre de host y el puerto con sus valores. TcpTestSucceeded : TrueConfirma una conexión TCP desde ese cliente en ese momento. Informa de un fallo, pero no identifica si la causa es la falta de un oyente, un cortafuegos, un enrutamiento, un DNS o un filtro ascendente. Consulte la referencia de Test-NetConnectionFalse de Microsoft .
Para un escaneo visual, instale Nmap desde su página de descarga oficial ; el instalador de Windows incluye Zenmap. Para comprobar los puertos seleccionados, ejecute:
nmap -p 80,443 server01.example.com
En Zenmap, ingrese un objetivo autorizado, elija un perfil, ejecute el escaneo y revise Ports / Hosts. El escaneo básico de objetivos de Nmap verifica los 1000 puertos TCP más comunes; use -ppara limitarlo. Los estados describen lo que Nmap ve de ese cliente: opensignifica que una aplicación está aceptando conexiones, closedsignifica que ninguna aplicación está escuchando y filteredsignifica que un obstáculo impide que Nmap determine el estado. Consulte la guía de Zenmap .
Zenmap muestra el objetivo, el perfil de escaneo y los resultados de ejemplo del puerto en una sola ventana.
¿Qué hacer con los resultados?
Si PowerShell muestra un oyente pero la prueba del cliente falla, verifique la dirección vinculada del servicio, la regla de entrada correspondiente y su perfil de red, así como cualquier firewall, grupo de seguridad, enrutador o NAT anterior. Una regla de permiso no crea un oyente; un servicio debe vincularse al puerto.
Para un oyente desconocido, utilice su PID para identificar la aplicación y confirmar si es necesaria antes de modificarla. Restrinja o elimine los servicios o reglas de entrada no utilizados mediante su proceso de cambio habitual y, a continuación, vuelva a realizar la prueba desde la ruta del cliente relevante. Un solo escaneo muestra la accesibilidad únicamente desde ese punto de vista.