La Guía Completa de PortQry y Herramientas de Escaneo de Puertos: Edición 2025
Última actualización: 8 de septiembre de 2025
Introducción – Cambios Desde 2020
De 2020 a 2025, las herramientas de diagnóstico de red en Windows han evolucionado significativamente. Aunque PortQry sigue siendo una herramienta válida, los sistemas operativos modernos como Windows 11 y Windows Server 2025 ahora ofrecen potentes funciones integradas, como Test-NetConnection de PowerShell, que permiten un escaneo de puertos más rápido y eficiente.
Este artículo proporciona la información más reciente sobre PortQry, junto con una explicación detallada de las herramientas alternativas modernas y las mejores prácticas de seguridad.
1. El Estado Actual de PortQry (Edición 2025)
1.1 Información de la Última Versión
PortQry v2.0 se actualizó por última vez el 15 de julio de 2024 y actualmente se ejecuta en los siguientes entornos:
- SO Soportado: Windows 2000 y posterior (incluyendo Windows 11/Windows Server 2025)
- Descarga: Centro de Descargas Oficial de Microsoft
- Versión GUI (PortQryUI): Disponible aquí
1.2 Cómo Usar la Versión de Línea de Comandos (Actualizado)
# Uso básico
cd C:\PortQryV2
portqry -n 192.168.1.1 -p tcp -e 443
# Comprobar múltiples puertos
portqry -n example.com -p tcp -r 80:443
# Comprobar un puerto UDP
portqry -n 192.168.1.1 -p udp -e 53
# Consulta específica de servicio (ej. LDAP)
portqry -n domaincontroller.local -e 389 -p tcp
# Obtener información detallada (RPC)
portqry -n server.local -e 135 -p tcp
1.3 Interpretando el Estado del Puerto
PortQry devuelve tres estados:
- LISTENING: El puerto está abierto y un servicio está respondiendo.
- NOT LISTENING: El puerto está cerrado (se recibió una respuesta clara de rechazo).
- FILTERED: No se recibió respuesta (posiblemente filtrado por un firewall).
1.4 Características de la Versión GUI (PortQryUI)
PortQryUI todavía está disponible y proporciona los siguientes conjuntos de servicios predefinidos:
- Domains and Trusts: Servicios de Active Directory
- Exchange Server: Puertos relacionados con el servidor de correo
- SQL Server: Puertos relacionados con la base de datos
- Web Service: HTTP/HTTPS
- NetBIOS: Relacionado con el uso compartido de archivos
2. Métodos Alternativos Usando Herramientas Estándar de Windows (Recomendado)
2.1 Test-NetConnection (PowerShell 5.0 y posterior)
Esta es la herramienta más conveniente disponible en Windows 8.1 y posterior.
# Prueba de conexión básica
Test-NetConnection google.com
# Probar un puerto específico
Test-NetConnection -ComputerName example.com -Port 443
# Mostrar información detallada
Test-NetConnection -ComputerName 192.168.1.1 -Port 3389 -InformationLevel Detailed
# Usando un alias (forma corta)
tnc example.com -Port 80
# Probar puertos de servicios comunes
Test-NetConnection -ComputerName server.local -CommonTCPPort HTTP
Test-NetConnection -ComputerName server.local -CommonTCPPort RDP
Test-NetConnection -ComputerName server.local -CommonTCPPort SMB
# Escanear múltiples puertos (script)
$ports = 80,443,3389,445
$ports | ForEach-Object {
$result = Test-NetConnection -ComputerName server.local -Port $_ -WarningAction SilentlyContinue
if ($result.TcpTestSucceeded) {
Write-Host "Puerto $_ está abierto" -ForegroundColor Green
} else {
Write-Host "Puerto $_ está cerrado o filtrado" -ForegroundColor Red
}
}
2.2 Test-Connection (PowerShell 7+)
En PowerShell 7, se ha agregado la prueba de conexión de puerto TCP:
# Prueba de conexión TCP (PowerShell 7 y posterior)
Test-Connection bing.com -TCPPort 443 -Count 4
# Realizar un traceroute
Test-Connection google.com -Traceroute
# Prueba de conexión TCP detallada
Test-Connection server.local -TCPPort 445 -Detailed
2.3 Get-NetTCPConnection (Comprobar Puertos Locales)
# Comprobar puertos en escucha localmente
Get-NetTCPConnection -State Listen | `
Select-Object LocalAddress,LocalPort | `
Sort-Object -Property LocalPort | `
Format-Table
# Obtener detalles de un puerto específico
Get-NetTCPConnection -LocalPort 445 | Format-List *
# Mostrar con información del proceso
Get-NetTCPConnection -State Listen | `
Select-Object LocalPort, OwningProcess, @{
Name="Process";
Expression={(Get-Process -Id $_.OwningProcess).Name}
} | Format-Table
2.4 Script de Escaneo Rápido de Puertos
# Escaneo rápido usando operaciones asíncronas
function Fast-PortScan {
param(
[string]$Target,
[int[]]$Ports = @(21,22,23,25,53,80,110,143,443,445,3389,8080)
)
$jobs = @()
foreach ($port in $Ports) {
$jobs += Start-Job -ScriptBlock {
param($t, $p)
$tcp = New-Object System.Net.Sockets.TcpClient
try {
$result = $tcp.BeginConnect($t, $p, $null, $null)
$wait = $result.AsyncWaitHandle.WaitOne(1000, $false)
if ($wait -and $tcp.Connected) {
return "$p:Open"
} else {
return "$p:Closed"
}
} catch {
return "$p:Error"
} finally {
$tcp.Close()
}
} -ArgumentList $Target, $port
}
$results = $jobs | Wait-Job | Receive-Job
$jobs | Remove-Job
return $results
}
# Ejemplo de uso
Fast-PortScan -Target "192.168.1.1" -Ports (80,443,22,3389)
3. Utilizando Herramientas de Terceros
3.1 Nmap (La Opción Más Potente)
A partir de 2025, Nmap sigue siendo el escáner de puertos más completo.
Instalación:
- Descargar desde el sitio web oficial de Nmap.
- La versión de Windows incluye el controlador Npcap.
- La versión GUI, Zenmap, también está incluida.
Comandos Básicos:
# Escaneo básico
nmap 192.168.1.0/24
# Escanear puertos específicos
nmap -p 80,443 example.com
# Detección de la versión del servicio
nmap -sV example.com
# Detección del sistema operativo
nmap -O example.com
# Escaneo rápido (los 100 puertos principales)
nmap --top-ports 100 192.168.1.0/24
# Escaneo UDP
nmap -sU -p 53,161 example.com
3.2 Otras Herramientas Recomendadas
Advanced IP Scanner (Gratuito, solo para Windows)
- Basado en GUI y fácil para principiantes.
- Integración con Escritorio Remoto.
- Función de detección de direcciones MAC.
Angry IP Scanner (Código abierto, multiplataforma)
- Ligero y rápido.
- Soporte para plugins.
- Función de exportación a CSV.
Masscan (Escaneo ultrarrápido)
- Hasta 10 millones de paquetes/segundo.
- Diseñado para redes a gran escala.
- Formato de salida compatible con Nmap.
4. Mejores Prácticas de Seguridad (Edición 2025)
4.1 Consideraciones Legales y Éticas para el Escaneo de Puertos
⚠️ Nota Importante:
- Solo escanee redes que usted administre.
- Siempre obtenga permiso del administrador en redes corporativas.
- El escaneo no autorizado de sistemas de terceros es ilegal.
4.2 Mejoras de Seguridad en Windows 11/Server 2025
Configuraciones Recomendadas:
# Comprobar el estado del Firewall de Windows Defender
Get-NetFirewallProfile | Select Name, Enabled
# Bloquear un puerto innecesario
New-NetFirewallRule -DisplayName "Block Port 135" `
-Direction Inbound -Protocol TCP -LocalPort 135 -Action Block
# Establecer la versión mínima de SMB (se recomienda 3.0 o superior)
Set-SmbServerConfiguration -RequireSecuritySignature $true `
-EncryptData $true -Force
# Habilitar la auditoría de puertos
auditpol /set /subcategory:"Filtering Platform Connection" /success:enable /failure:enable
4.3 Implementando Auditorías Regulares
# Script de auditoría de puertos automatizado
$schedule = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Monday -At 3am
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
-Argument "-File C:\Scripts\PortAudit.ps1"
Register-ScheduledTask -TaskName "Weekly Port Audit" `
-Trigger $schedule -Action $action -RunLevel Highest
5. Guía de Solución de Problemas
5.1 Problemas Comunes y Soluciones
Problema: Test-NetConnection es lento. Solución:
# Acelerar omitiendo la prueba ICMP
$tcp = New-Object System.Net.Sockets.TcpClient
$tcp.Connect("example.com", 443)
$tcp.Connected # True/False
$tcp.Close()
Problema: No se pueden probar los puertos UDP. Solución: Use PortQry o Nmap.
Problema: Falsos positivos del firewall. Solución:
- Agregue una regla de exclusión temporal.
- Use escaneo autenticado.
- Ajuste la velocidad de escaneo gradualmente.
5.2 Optimización del Rendimiento
# Acelerar con procesamiento en paralelo
workflow Test-MultipleHosts {
param([string[]]$Hosts, [int]$Port)
foreach -parallel ($host in $Hosts) {
Test-NetConnection -ComputerName $host -Port $Port
}
}
# Ejemplo de uso
Test-MultipleHosts -Hosts @("server1","server2","server3") -Port 443
6. Resumen y Recomendaciones
Mejores Prácticas para 2025
- Para comprobaciones de rutina: Use
Test-NetConnectionde PowerShell. - Para diagnósticos detallados: Use PortQry o Nmap.
- Para escaneo a gran escala: Use Masscan o scripts personalizados.
- Para operaciones con GUI: Use PortQryUI, Zenmap o Advanced IP Scanner.
Perspectivas a Futuro
- Se espera una mayor integración de PowerShell en Windows 12 (planeado).
- Proliferación de servicios de escaneo de puertos basados en la nube.
- Integración de IA/ML para la detección de anomalías.
Apéndice: Referencia de Números de Puerto Comunes
| Puerto | Protocolo | Servicio |
|---|---|---|
| 22 | TCP | SSH |
| 53 | TCP/UDP | DNS |
| 80 | TCP | HTTP |
| 443 | TCP | HTTPS |
| 445 | TCP | SMB |
| 3389 | TCP | RDP |
| 5985 | TCP | WinRM HTTP |
| 5986 | TCP | WinRM HTTPS |
[Artículo Original de 2020 a Continuación]
El artículo original de 2020 se conserva a continuación para mostrar cómo ha evolucionado el panorama.
PortQry es una herramienta gratuita proporcionada por Microsoft que puede realizar escaneos de puertos. Puede encontrarla con una búsqueda web. Algunos sitios web le permiten verificar el estado abierto, y también puede verificar con el comando TELNET. Sin embargo, solo admite TCP, por lo que si desea verificar UDP, se recomienda PortQry. Inicie un símbolo del sistema. A continuación se muestra un ejemplo del comando. Primero, navegue a la carpeta donde existe la herramienta. Luego ingrese el comando. Creo que es suficiente recordar cambiar la parte de la dirección IP.
cd C:\Users\minok\OneDrive - ja\PortQryV2
portqry -n 132.145.170.16 -p tcp -e 443
Puede comprobar el puerto UDP cambiando tcp a udp.

A continuación, presentaré la versión GUI. Puede descargarla desde el siguiente sitio. https://www.microsoft.com/en-us/download/details.aspx?id=24009
Cuando extraiga el archivo descargado, hay varios archivos, pero ejecutemos portqueryui.exe.



