Cómo usar comandos Netstat en Windows: Monitorizar conexiones, puertos, diagnóstico de red

Netstat (Network Statistics) es una herramienta CLI nativa de Windows (y Linux/macOS) para ver conexiones de red activas, puertos escuchando, estadísticas de protocolo, tabla de enrutamiento. Imprescindible para diagnóstico, seguridad (detectar malware/backdoors), y análisis de rendimiento. No requiere instalación.

Cómo abrir símbolo del sistema (CMD) o PowerShell

  1. Win + R → escribe cmd o powershell → Enter.
  2. O: Inicio → escribe "cmd" / "powershell" → Enter (Admin recomendado para ver todos los procesos).

Comandos esenciales (Funcionan en CMD y PowerShell)

1. Ver TODAS las conexiones activas y puertos escuchando

netstat -a

Muestra: TCP/UDP, Dirección local (IP:Puerto), Dirección remota, Estado (ESTABLISHED, LISTENING, TIME_WAIT, CLOSE_WAIT...).

2. Ver SOLO conexiones TCP

netstat -p tcp

3. Ver SOLO conexiones UDP

netstat -p udp

4. Mostrar direcciones IP y números de puerto EN NÚMEROS (no resolver nombres DNS - MÁS RÁPIDO)

netstat -an

Combina: netstat -an -p tcp (TCP numérico).

5. Mostrar el PID (Process ID) y NOMBRE DEL PROCESO que usa cada conexión (REQUIERE ADMIN)

netstat -ano

Salida: Proto, Local, Foreign, State, PID.
Luego identifica el proceso: tasklist | findstr <PID> o en PowerShell: Get-Process -Id <PID>.

6. Actualización continua cada N segundos (Monitor en vivo)

netstat -an 5

Refresca cada 5 segundos. Ctrl + C para parar.

7. Ver tabla de enrutamiento (Routing Table)

netstat -r

Muestra: Destination, Netmask, Gateway, Interface, Metric. Equivalente a route print.

8. Estadísticas por protocolo (IP, IPv6, ICMP, TCP, UDP)

netstat -s

Contadores: paquetes recibidos/enviados, errores, reensamblajes, fallos checksum, etc. Útil para diagnosticar pérdida de paquetes, retransmisiones TCP.

9. Filtrar por estado (ej. solo ESTABLECIDAS)

netstat -an | findstr ESTABLISHED

(En PowerShell: netstat -an | Select-String ESTABLISHED)

10. Guardar salida en archivo (Log)

netstat -anob > C:\logs\netstat_log.txt
  • -o PID, -b nombre ejecutable (req. Admin), > redirige salida.
  • Abre con Notepad / VS Code / notepad C:\logs\netstat_log.txt.

Interpretación clave para SEGURIDAD

  • LISTENING en 0.0.0.0:puerto → Servicio escuchando en TODAS las interfaces (riesgo si innecesario).
  • LISTENING en 127.0.0.1:puerto → Solo local (loopback), bajo riesgo.
  • ESTABLISHED hacia IP externa rara → Posible C2 (Command & Control) malware, telemetría, actualización legítima. Verifica PID/proceso.
  • Muchos TIME_WAIT / CLOSE_WAIT → Fugas de sockets en app (bug) o escaneo SYN.
  • Puertos sospechosos comunes malware: 4444, 5555, 6666, 6667 (IRC), 1234, 31337, 1337, puertos altos aleatorios persistentes.

Consejo

  • Usa TCPView (Sysinternals / Microsoft) → GUI gráfica en tiempo real con resaltado colores, kill process, propiedades. Más fácil que netstat crudo.
  • Resource Monitor (resmon.exe) → pestaña Red → vista gráfica + PID + árbol procesos.
  • PowerShell moderno: Get-NetTCPConnection, Get-NetUDPEndpoint, Get-NetRoute → objetos .NET, filtrables, exportables (CSV/JSON).

Advertencia

  • Netstat muestra foto instantánea. Una conexión mala puede aparecer y desaparecer entre ejecuciones. Usa netstat -an 1 o TCPView para monitor continuo.
  • Ver PID y nombre (-b / -o) requiere Ejecutar como Administrador.
  • Netstat NO captura tráfico (payload), solo metadatos de conexión. Para payload: Wireshark, tcpdump, Netsh trace.