netstat es una herramienta de red de línea de comandosmuy útil para solucionar problemas. Su utilidad multiplataforma significa que puede utilizarlo en Linux, macOS o Windows.

netstat puede ser muy útil en lo siguiente.

  • Mostrar las conexiones de red entrantes y salientes
  • Mostrar tablas de enrutamiento
  • Mostrar el número de interfaces de red
  • Mostrar estadísticas de protocolo de red

Empecemos…

Mostrar todas las conexiones

Para empezar con netstat, veamos el comando que muestra todas las conexiones.

netstat -a

Escriba el comando anterior y pulse intro. Verá todas las conexiones activas de diferentes estados como se muestra a continuación.

C:\Windows\system32>netstat -a

Conexiones activas

Proto Dirección local Dirección extranjera Estado
TCP 192.168.43.15:139 ESCRITORIO-A0PM5GD:0 ESCUCHANDO
TCP 192.168.43.15:52484 153:https ESTABLECIDO
TCP 192.168.43.15:52532 ec2-13-228-49-204:https TIME_WAIT
UDP [fe80::998c:d2d:17df:65d9]:58903 *:*

Verá una cabecera con Proto, Local Address, Foreign Address y State. Veamos una breve información sobre ellos.

  • Proto – define el tipo de protocolo (TCP, UDP, etc.,) del socket.
  • Dirección Local – muestra la dirección IP y el puerto de su ordenador, extremo local del socket.
  • Foreign Address – muestra el ordenador remoto al que está conectado su ordenador, el extremo remoto del socket.
  • Estado – define el estado del socket (LISTENING, ESTABLISHED, CLOSE_WAIT, TIME_WAIT).

Podemos filtrar las conexiones de diferentes maneras. Veámoslas.

Mostrar sólo la conexión establecida

Hemos visto el estado en la información de conexión. Puede utilizar la sintaxis siguiente para ver todas las conexiones establecidas desde/a su servidor Windows.

netstat | findstr ESTABLISHED
C:\Windows\system32>netstat | findstrESTABLISHED
 TCP 172.16.179.128:49375 a23-77-202-113:http ESTABLISHED
C:\Windows\system32>

Nota: para ver LISTEN, CLOSE_WAIT, TIME_WAIT puede utilizar simplemente lo siguiente.

Para ver las conexiones que están en estado de ESCUCHA cambie la palabra clave ESTABLISHED del comando anterior por LISTENING. Obtendrá la información sobre las conexiones que están en estado de escucha de la siguiente manera.

netstat | findstr ESCUCHA
C:\Windows\system32>netstat | findstrLISTENING
 TCP 192.168.43.15:139 ESCRITORIO-A0PM5GD:0 ESCUCHANDO

De forma similar, ejecute el siguiente comando para ver todas las conexiones que se encuentran en estado CLOSE_WAIT .

netstat | findstr CLOSE_WAIT
C:\Windows\system32>netstat | findstrCLOSE_WAIT
 TCP 192.168.43.15:52581 ec2-52-1-183-160:https CLOSE_WAIT
  TCP 192.168.43.15:52584 ec2-34-227-121-63:https CLOSE_WAIT

Por último, utilice la bandera TIME_WAIT para obtener información sobre todas las conexiones que se encuentran en estado TIME_WAIT .

netstat | findstr TIME_WAIT
C:\Windows\system32>netstat | findstrTIME_WAIT
 TCP 192.168.43.15:52590 servidor-13-33-179-97:https TIME_WAIT

Mostrar PID utilizado por número de puerto

Cada conexión es internamente un proceso. Y cada proceso tiene un ID, y se llama PID. Podemos ver el PID de cada conexión de socket utilizando el siguiente comando.

netstat -o

El comando anterior muestra todas las conexiones con PID. Ejecutemos el comando y veamos cómo obtenemos el resultado.

C:\Windows\system32>netstat-o

Conexiones activas

Proto Dirección local Dirección extranjera Estado PID
TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676
TCP 192.168.43.15:50733 40.90.189.152:https ESTABLISHED 10556

Tenemos una columna extra llamada PID. Y es el identificador del proceso.

Es muy útil cuando tiene que averiguar qué PID está utilizando el número de puerto concreto.

netstat -o | findstr $númerodepuerto

Puede ver la siguiente información si utiliza el comando anterior.

C:\Windows\system32>netstat -o | findstr50664
  TCP 192.168.43.15:50664 40.90.189.152:https ESTABLISHED 3676

Mostrar estadísticas de todos los protocolos

Útil cuando tiene que averiguar algún error de cabecera recibido, error de dirección recibido, paquete descartado, etc. Le mostrará las estadísticas de IPv4, IPv6, ICMPv4, ICMPv6, TCP, UDP, etc.

netstat -s

Verá las estadísticas de todos los protocolos como se muestra a continuación.

C:\Windows\system32>netstat-s
Estadísticas IPv4

Paquetes Recibidos = 1097370
Errores de cabecera recibidos = 0
Errores de dirección recibidos = 9
Datagramas Reenviados = 0
Protocolos desconocidos recibidos = 0
Paquetes recibidos descartados = 1425
Paquetes Recibidos Entregados = 1098173
Peticiones de Salida = 743601
Descartes de Enrutamiento = 0
Paquetes de salida descartados = 43
Paquete de salida sin ruta = 23
Reensamblado requerido = 0
Reensamblado correcto = 0
Fallos de reensamblaje = 0
Datagramas fragmentados con éxito = 0
Fragmentación fallida de datagramas = 0
Fragmentos creados = 0

Estadísticas IPv6

Paquetes recibidos = 24
Errores de cabecera recibidos = 0
Errores de dirección recibidos = 0
Datagramas Reenviados = 0
Protocolos desconocidos recibidos = 0
Paquetes recibidos descartados = 208
Paquetes recibidos entregados = 519
Peticiones de Salida = 1507
Descartes de Enrutamiento = 0
Paquetes de salida descartados = 0
Paquete de salida sin ruta = 0
Reensamblado requerido = 0
Reensamblado correcto = 0
Fallos de reensamblaje = 0
Fragmentación correcta de datagramas = 0
Fragmentación fallida de datagramas = 0
Fragmentos creados = 0

Estadísticas ICMPv4

Recibidos Enviados
Mensajes 52 143
Errores 0 0
Destino inalcanzable 52 143
Tiempo excedido 0 0
Problemas de parámetros 0 0
Fallos de origen 0 0
Redirecciones 0 0
Respuestas de Eco 0 0
Ecos 0 0
Timestamps 0 0
Timestamp Replies 0 0
Máscaras de dirección 0 0
Respuestas de máscara de dirección 0 0
Solicitudes de enrutador 0 0
Anuncios de enrutador 0 0

Estadísticas ICMPv6

Recibidos Enviados
Enviados 0 25
Errores 0 0
Destino inalcanzable 0 0
Paquete demasiado grande 0 0
Tiempo Excedido 0 0
Problemas de parámetros 0 0
Ecos 0 0
Respuestas de eco 0 0
Consultas MLD 0 0
Informes MLD 0 0
Dones MLD 0 0
Solicitudes de enrutador 0 15
Anuncios de enrutador 0 0
Solicitudes de vecinos 0 5
Anuncios de vecinos 0 5
Redirecciones 0 0
Renumeraciones de enrutadores 0 0

Estadísticas TCP para IPv4

Aperturas activas = 4405
Aperturas Pasivas = 5
Intentos de conexión fallidos = 164
Conexiones Reiniciadas = 347
Conexiones Activas = 19
Segmentos Recibidos = 980542
Segmentos Enviados = 674787
Segmentos Retransmitidos = 5759

Estadísticas TCP para IPv6

Aperturas activas = 48
Aperturas Pasivas = 10
Intentos de conexión fallidos = 38
Conexiones Reiniciadas = 2
Conexiones Activas = 0
Segmentos recibidos = 680
Segmentos Enviados = 552
Segmentos retransmitidos = 128

Estadísticas UDP para IPv4

Datagramas recibidos = 117977
Sin Puertos = 1385
Errores de recepción = 1
Datagramas Enviados = 54516

Estadísticas UDP para IPv6

Datagramas Recibidos = 1036
Sin Puertos = 208
Errores de recepción = 0
Datagramas Enviados = 1131

Para averiguar rápidamente cualquier error puede utilizar la sintaxis.

netstat -s | findstr Errores
C:\Windows\system32>netstat-s| findstr Errores
 Errores de cabecera recibidos = 0
 Errores de dirección recibidos = 0
 Errores de encabezado recibidos = 0
 Errores de dirección recibidos = 0
 Errores 0 0
 Errores 0 0
 Errores de recepción = 0
 Errores de recepción = 0
C:\Windows\system32>

El comando anterior filtra todos los errores de las estadísticas de todos los protocolos.

Mostrar información de enrutamiento

Para mostrar la tabla de rutas, puede utilizar la sintaxis siguiente. La siguiente sintaxis también listará todas las interfaces.

netstat -r

Si utiliza el comando anterior, verá la información sobre el enrutamiento como se muestra a continuación.

C:\Windows\system32>netstat-r
===========================================================================
Lista de interfaces
4...8c 16 45 32 4d 3c ......Realtek PCIe GBE Family Controller
16...d4 6d 6d 27 8a 9a ......Adaptador virtual Wi-Fi Direct de Microsoft
5...d6 6d 6d 27 8a 99 ......Adaptador virtual Wi-Fi Direct de Microsoft nº 2
12...d4 6d 6d 27 8a 99 ......Intel(R) Dual Band Wireless-AC 3165
10...d4 6d 6d 27 8a 9d ......Dispositivo Bluetooth (Red de área personal)
1...........................Interfaz de bucle de retorno de software 1
===========================================================================

Tabla de rutas IPv4
===========================================================================
Rutas activas:
Red Destino Máscara de red Puerta de enlace Interfaz Métrica
0.0.0.0 0.0.0.0 192.168.43.1 192.168.43.15 55
127.0.0.0 255.0.0.0 En enlace 127.0.0.1 331
127.0.0.1 255.255.255.255 En enlace 127.0.0.1 331
127.255.255.255 255.255.255 En enlace 127.0.0.1 331
192.168.43.0 255.255.255.0 En enlace 192.168.43.15 311
192.168.43.15 255.255.255 En enlace 192.168.43.15 311
192.168.43.255 255.255.255 En enlace 192.168.43.15 311
224.0.0.0 240.0.0.0 En enlace 127.0.0.1 331
224.0.0.0 240.0.0.0 En enlace 192.168.43.15 311
255.255.255.255 255.255.255 En enlace 127.0.0.1 331
255.255.255.255 255.255.255 En enlace 192.168.43.15 311
===========================================================================
Rutas persistentes:
Dirección de red Máscara de red Pasarela Dirección Métrica
0.0.0.0 0.0.0 10.30.28.1 Por defecto
===========================================================================

Tabla de rutas IPv6
===========================================================================
Rutas activas:
Si Métrica Red Destino Pasarela
1 331 ::1/128 En enlace
12 311 fe80::/64 En enlace
12 311 fe80::998c:d2d:17df:65d9/128
En enlace
1 331 ff00::/8 En enlace
12 311 ff00::/8 En enlace
===========================================================================
Rutas persistentes:
Ninguna

Mostrar estadísticas de interfaz

Para ver el estado de todas las interfaces, puede utilizar la siguiente sintaxis. Esto mostrará los detalles de Recibidos y Enviados.

netstat -e
C:\Windows\system32>netstat-e
Estadísticas de interfaz
 Recibidos Enviados
Bytes 8988576 2105244
Paquetes unidifusión 12972 11880
Paquetes no unicast 0 0
Descartes 0 0
Errores 0 0
Protocolos desconocidos 0
C:\Windows\system32>

Mostrar nombre de dominio completo de la dirección extranjera (host remoto)

Si está rastreando algunos problemas y desea conocer el FQDN del host remoto, puede utilizar la siguiente sintaxis.

netstat -f

Si ejecuta el comando anterior, entonces verá un resultado similar al siguiente.

C:\Windows\system32>netstat-f
Proto Dirección local Dirección extranjera Estado
TCP 192.168.43.15:50664 40.90.189.152:https ESCUCHANDO
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLECIDO

Nota: puede combinar la sintaxis findstr para mostrar resultados precisos como a continuación.

netstat -f | findstr ESTABLISHED

El comando anterior filtrará las conexiones y mostrará sólo las conexiones establecidas. Veamos un ejemplo.

C:|Windows\system32>netstat-f | findstr ESTABLISHED
TCP 192.168.43.15:51437 104.27.119.115:https ESTABLISHED

Podemos filtrar las conexiones utilizando el dominio con el siguiente comando.

netstat -f | findstr $nombredominiosaber

Especifique el dominio en el comando y verá las conexiones filtradas de la siguiente manera.

C:\Windows\system32>netstat-f | findstr ec2-52-202-6-97.compute-1.amazonaws.com
TCP 192.168.43.15:52573 ec2-52-202-6-97.compute-1.amazonaws.com:https ESTABLISHED

Espero que esto le ayude a familiarizarse con el uso del comando netstat en Windows. Si está interesado en aprender la administración de Windows, le sugiero que eche un vistazo a este curso.