El comando NETSTAT en windows, conoce el tráfico de tu equipo…

Hay muchos de vosotros que ya tenéis muy machacado el comando netstat, pero tanto para los que lo conocen como para aquellos que no lo conocen os recomiendo que os leáis este post, hasta el final.

Empezaré diciendo que el comando netstat nos da información sobre las conexiones entrantes y salientes desde y hacia nuestro equipo, si bien es cierto que existen aplicaciones gráficas que facilitan este trabajo, para cualquier sysadmin o usuario que quiera saber que ocurre en sus equipos, es de obligado cumplimiento el conocer aunque sea un poco esta herramienta.

Para saber que opciones podemos utilizar, os invito a abrir una ventana cmd y escribáis: netstat -h

netstatH

NOTA: Para este post estoy usando Windows 8.1 puede que las opciones cambien o tengan menos opciones en otras versiones de Windows, cosa que cambia si estáis usando linux, pero bueno empezaremos poco a poco.

Sigamos, en la ventana cmd podemos ejecutar lo siguiente: netstat -a

netstatA

Como se puede observar, veremos que nos aparecen un montón de datos (protocolo utilizado, dirección local, dirección remota, estado), y según la cantidad de aplicaciones que tengamos arrancadas accediendo a internet y/o red local, el resultado puede ser muy largo. La opción -a tal y como dice la ayuda del comando nos muestra todas las conexiones y puertos a la escucha.

TIP: Recordad que siempre que lo necesitéis podéis volcar el resultado en un fichero para revisar tranquilamente, para ello ejecutaremos lo siguiente: netstat -a resultado.txt y después con un “notepad resultado.txt” podréis abrir el fichero y ver los resultados con detenimiento.

Puede ser que el resultado obtenido no sea todo lo completo que necesitéis pero por ahora iremos viendo más opciones con las que iremos mejorando la cantidad y calidad de información que necesitéis en cada momento.

Por ejemplo, en mi caso me gusta que me muestre los datos identificando la ip y puertos en lugar de que me muestre los nombres, para ello utilizaremos la opción -an tal y como podemos observar en la siguiente imagen.

netstatAN

TIP: Nos puede pasar que queramos ver por ejemplo todas las conexiones que utilicen el puerto 80, para ello podemos utilizar el pipe y concatenarlo con el comando find, por ejemplo: netstat -an | find :80

Ya vamos conociendo algunas opciones, y algunas formas de filtrar la información que recibimos por pantalla, seguimos….

Nos podría interesar saber que PID tiene el proceso que está a la escucha o esta estableciendo una comunicación, ¿para que?, se me ocurre por ejemplo para comprobar que aplicación la tiene abierta, esto lo podremos ver con la opción -o donde nos muestra el PID del proceso y posteriormente podremos ver que aplicación es con el comando tasklist. Veamos la consecución de los comandos.

netstatANO

tasklist

NOTA: Las opciones -ano la uso siempre en este orden porque me es fácil de recordar, no por otros motivos .…  X      🙂

Veamos otras opciones, por ejemplo -r :

netstatR

El resultado de este comando es exactamente igual que si ejecutásemos el comando “route print”, y nos muestra la tabla de enrutamiento local, con las redes destino, mascaras, puertas de enlace, interfaz y métrica, y paro de explicar mas cosas sobre el significado de estos datos, ya que tengo planificado hacer un post sobre el comando route donde realizaré varios ejemplos y quedarán más claros.

Ahora me gustaría hacer hincapié sobre una de las opciones del comando netstat que muchos olvidamos que existe, y que en determinadas situaciones me han ayudado mucho, justamente es la opción “interval”, la cual, podemos especificar una cantidad en segundos para que se ejecute de nuevo el comando con lo que la información se refresca y nos muestra los nuevos datos, esta opción si la redireccionamos a un archivo nos puede ayudar a ver que es lo que ha ido ocurriendo durante el arranque de una aplicación, el comando sería el siguiente:

netstat -ano 2 >>resultado.txt

El 2, significa que se ejecutará el netstat cada 2 segundos.

TIP: Cuando queramos parar la ejecución del comando, hay que pulsar CTRL+C. Y posteriormente podrémos analizar el resultado.txt con nuestro editor favorito.

El resto de opciones, aunque son menos utilizadas en general, no son por ello menos interesantes, pero os las dejo para que las exploréis vosotros.

Espero que este POST os haya gustado y sobre todo que os sea útil   🙂

11 opiniones en “El comando NETSTAT en windows, conoce el tráfico de tu equipo…”

  1. El articulo esta muy bien pero intento poner el comando “netstat -a -b ” y me dice que la operacion solicitada requiere elevacion y no se que es eso de elevacion

          1. Hola fpalenzuela, esta mañana he consultado como solucionarlo y he podido hacerlo, uso Vista, creando un acceso directo del cmd en el escritorio y ahí en propiedades/acceso directo/opciones avanzadas he seleccionado “ejecutar como administrador”. Escribiendo esto he visto que se puede hacer de forma mas sencilla aun. En la lista que se despliga al buscar cmd con el botón derecho se puede seleccionar ejecutar como administrador. Muchas gracias.

  2. Hola, me dicen de mi proveedor de internet que cuando aparencen mucho ESTABLISHED en nestat -n es porque mi pc está funcionando mal y lenta porque puede haber un virus. He pasado antivirus y no encuentro nada. Podrias ayudarme ? Gracias. Carlos

    1. Hola Carlos, la respuesta a tu pregunta es más compleja de lo que parece, lo que yo te recomiendo es que analices el proceso y hacia que dirección IP se establecen esas conexiones (netstat -nb con permiso de superusuario), y si encuentras alguna sospechosa, bloquearlas con un un firewall, siempre bajo tu responsabilidad ya que al bloquear una IP de algún servicio de Windows, puede afectar también al funcionamiento del mismo.

      Un saludo

    1. Hola Sergio, al inicio de la entrada tienes una imagen con la ayuda del comando netstat, en ella se puede ver para que sirve cada opción, si por algún caso no la ves, teclea en tu terminal netstat -h y te aparecerá dicha información.
      Un saludo

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *