Guía para el uso de herramientas de diagnóstico de red

Descripción general

Este artículo presenta una guía sistemática para identificar la causa de problemas de comunicación en entornos Windows Server, utilizando comandos estándar y herramientas de PowerShell. Se abordan pruebas de conectividad ICMP, verificación de puertos TCP, resolución de DNS y análisis de registros.

Convenciones de variables

Los valores dependientes del entorno se expresan como se indica a continuación. Sustitúyalos según su configuración real.

Variable Ejemplo Descripción
<<TARGET_HOST>> 192.168.10.1 Nombre o dirección IP del host de destino
<<PORT_NUMBER>> 443 Puerto TCP utilizado por la aplicación
<<LOG_PATH>> C:\Logs\netdiag.txt Ruta donde se guardarán los registros

Paso 1: Verificar conectividad ICMP (ping)

Comprueba la accesibilidad a nivel de red.

ping <<TARGET_HOST>>

Si no hay respuesta, verifique:

  • Si Windows Defender Firewall está bloqueando ICMP
  • Si el host de destino está en ejecución
  • Si la tabla de rutas es correcta (route print)

Nota: En entornos donde ICMP está deshabilitado, es necesario verificar la conectividad mediante TCP.


Paso 2: Verificar la ruta (tracert)

Determina en qué salto de la ruta se interrumpe la comunicación.

tracert <<TARGET_HOST>>

Paso 3: Comprobación de puertos TCP (Test-NetConnection)

Evalúa si la comunicación a nivel de aplicación se establece correctamente.

Test-NetConnection -ComputerName <<TARGET_HOST>> -Port <<PORT_NUMBER>>

Campos principales de salida:

Campo Descripción
TcpTestSucceeded Indica si la conexión TCP fue exitosa
PingSucceeded Indica si el ICMP respondió
RemoteAddress Dirección IP de destino resuelta
SourceAddress Dirección IP de origen utilizada

Consejo: Si el DNS es inestable, utilice la dirección IP directamente.


Paso 4: Estado de las sesiones TCP (netstat / Get-NetTCPConnection)

Permite visualizar las conexiones TCP activas y los puertos en escucha.

Con netstat

netstat -ano | findstr "<<PORT_NUMBER>>"

Opciones:

  • -a: muestra todas las conexiones y puertos en espera
  • -n: muestra direcciones y puertos en formato numérico
  • -o: muestra el ID del proceso

Identificar el proceso correspondiente:

tasklist /FI "PID eq <<PID_NUMBER>>"

Con PowerShell

Get-NetTCPConnection -State Established |
  Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess
Get-NetTCPConnection | Where-Object { $_.LocalPort -eq <<PORT_NUMBER>> }

Si hay muchas conexiones en estado SYN_SENT o TIME_WAIT, puede indicar interrupciones o reconexiones frecuentes.


Paso 5: Comprobar resolución DNS (nslookup / Resolve-DnsName)

Verifica si la resolución de nombres funciona correctamente.

nslookup <<TARGET_HOST>>

Análisis detallado con PowerShell:

Resolve-DnsName <<TARGET_HOST>> -Type A

Consulta a un servidor DNS específico:

Resolve-DnsName <<TARGET_HOST>> -Type A -Server 8.8.8.8

Nota: En entornos IPv6, utilice -Type AAAA.


Paso 6: Solución avanzada de problemas

Habilitar registros del Firewall

Si la comunicación está bloqueada, active el registro del Firewall para análisis.

Set-NetFirewallProfile -Profile Domain,Public,Private `
  -LogAllowed True -LogBlocked True `
  -LogFileName "C:\Windows\System32\LogFiles\Firewall\pfirewall.log" `
  -LogMaxSizeKilobytes 32767

El tamaño predeterminado del registro es de 1 MB; aumentar el límite facilita el análisis.

Comprobar tabla ARP (problemas de capa 2)

arp -a

Si se observan direcciones MAC duplicadas o inconsistentes, sospeche de caché en switches o NICs virtuales.


Conclusión

La mayoría de los problemas de red pueden diagnosticarse sistemáticamente en cinco pasos:
ICMP → Ruta → TCP → DNS → Registro

Con herramientas estándar como ping, tracert, netstat y cmdlets de PowerShell como Get-NetTCPConnection, Resolve-DnsName y Test-NetConnection, es posible realizar un diagnóstico eficiente, estructurado y reproducible en entornos Windows Server.