¿Demasiadas conexiones ESTABLISHED? Mapeando puertos activos y sus procesos

slowerSaludos. Este es un tema típico revisado sobre todo en problemas con conexión a Internet. Está relacionado a lentitud del Internet o de la red en general.

Si no tiene servicios levantados en el equipo o aplicaciones clientes que justifiquen la situación, podríamos estar frente a un problema crítico.

Primero, entendamos de qué se trata:

Nuestros equipos ejecutan muchos procesos (como servicios y aplicaciones). A menudo estos procesos están diseñados para la comunicación con sistemas remotos y se ejecutan como servicios que escuchan en puertos asignados. Actualmente, podemos decir que es normal que los equipos estén encendidos y conectados a la red en todo momento.

Esta nueva forma de trabajo (uso de la conectividad), proporciona una ventana sin fin de oportunidades para que los atacantes se aprovechen de las vulnerabilidades a causa los procesos en ejecución. Por lo tanto, no solo es importante mantener nuestros sistemas actualizados, también es importante minimizar los procesos de escucha en nuestros sistemas.

Se recomienda, sólo ejecutar procesos necesarios para que nuestro sistema funcione como deseamos, desactivando y/o desinstalando los otros procesos eventualmente innecesarios.

Pero, ¿cómo saber qué procesos están en escucha y qué puertos han abierto en nuestros sistemas? ¿cómo identificar el estado de las conexiones?

Para esto revisaremos un par de herramientas muy interesantes para los usuarios de windows:

El comando netstat.

En casi todos los sistemas que cuentan con TCP/IP, existe el comando Netstat. El cual se usa en la consola de comandos y que permite mostrar distintos tipos de información acerca de las conexiones de red.

Si ejecutamos el comando con la opción «-?», veremos que hay varios argumentos de línea de comandos que pueden utilizarse para recopilar diferentes tipos de información. Para visualizar una lista de conexiones activas en nuestro sistema, podemos ejecutar el comando netstat con el atributo «-aon»; el atributo «a» hace referencia a todas las conexiones (all) tanto tcp como udp, el atributo «o» hace referencia al ID del proceso (PID) y los respectivos puertos usados y el atributo «n» hace referencia a no realizar la resolución de nombres de las diferentes direcciones IP.

C:\>netstat -aon
C:\>netstat -aon

Verificamos que nos muestra información de cada proceso: protocolo, dirección local, dirección remota, estado y  el PID. Aquí podemos echar un vistazo a todos los procesos de nuestro sistema, identificarlos, qué puerto usan y a dónde se conectan. De toda la lista, posiblemente lo que más nos interesa en caso de diagnóstico en problemas de conectividad a internet, es el estado ESTABLISHED este estado señala a un proceso que está consumiendo recurso de  conectividad, y se recomienda analizarlo y determinar si se trata de un proceso permitido o no.

Si bien, ya tenemos el ID del proceso (PID), ¿Cómo revisamos de qué se trata ese proceso?, aquí recomiendo complementar el análisis con el administrador de tareas de windows.

Administrador de Tareas
Administrador de Tareas

En mi caso (en windows 8), la columna PID, la columna Nombre y la columna descripción, nos permite visualizar la naturaleza del proceso. Así, a través de información cruzada, conocer si se trata de un proceso permitido o no, y además tomar acciones al respecto.

La segunda herramienta:

TCPView para Windows.

Una aplicación de Sysinternals para Windows, desarrollada por Mark Russinovich y Bryce Cogswell. Es una herramienta de gran utilidad que permiten el trabajo más fácil, ofrece información de gran utilidad necesaria para el diagnóstico rápido de los procesos.

TCPView
TCPView

Puede descargarla de forma libre desde este enlace. También ofrece una versión no gráfica para consola de comandos, llamada Tcpvcon.exe. El comando a ejecutar sería: «Tcpvcon.exe -acn».

Tcpvcon.exe
C:\>Tcpvcon.exe -acn

Si tiene problemas de velocidad en Internet, revise los procesos con estado ESTABLISHED, estos procesos indican un consumo del recurso de red y en un equipo doméstico promedio, estos procesos en este estado no deben exceder de 5 o 6 procesos. En caso de presentar un elevado número de procesos en ESTABLISHED, identifique los procesos para tomar acciones.

Un caso particular es cuando se usan clientes de correo mediante protocolo IMAP, se recomienda usar POP, en caso de Mac Mail, se recomienda asegurarse de desmarcar «Use el comando IDLE, si el servidor lo soporta» (desactivar IDLE). Puede, además, desactivar la casilla «Incluir al comprobar automáticamente si hay correo nuevo». Programar la comprobación de correos en un periodo no menor de 2 minutos.

Espero que les ayude esta información.

Comenten sus experiencias.

Buena suerte.

Recursos y fuentes:

18 comentarios en «¿Demasiadas conexiones ESTABLISHED? Mapeando puertos activos y sus procesos»

  1. Agradecería si pueden responder a mi duda, tengo 11 Established todos el mismo PID 2676 y en el administrador de tareas no hay referencia así que no tengo idea como saber si es virus o no, la maquina tiene momentos que se atasca y debo reiniciar y a veces ni así se normaliza, el Avast no encuentra nada y los demás programas tampoco.

  2. He visto, sin leer ni mucho menos, comprender, una cantidad enorme de páginas cuyo contenido ignoro. Como elimino tal cantidad de paginas. Cargan mi disco duro?

    Gracias.-

  3. Hola.

    Gracias por todo el apoyo, me ayudo a eliminar unos cuanto procesos.
    2 preguntas; ¿Los procesos se reinician? Es decir, ¿Cómo evito que mi red se cargue de procesos que no quiero? y ¿Si tengo varios ESTABLISHED del mismo PID que es mi antivirus Avast, está bien?

    Muchas gracias por el apoyo y saludos.

    1. Hola Jesús,
      El post ayuda a identificar los procesos. Sin embargo, dependerá de las acciones tomadas, el reinicio de los procesos, y su naturaleza.
      Por ejemplo, terminar un proceso desde el administrador de tareas posiblemente esta acción sea temporal y no elimine el proceso de forma permanente. Pero si el proceso proviene de una aplicación y esta es desinstalada es probable que sea una solución permanente.
      También hay casos en el cual no deseamos eliminar la aplicación pero si desactivar un proceso que se carga al inicio del sistema, en este caso se podría deshabilitar desde la pestaña inicio del administrador de tareas o desde la consola de servicios (en herramientas administrativas del panel de control) sin perjudicar la existencia de la aplicación.
      En caso de antivirus, los ESTABLISHED pertenecientes a él están bien. Sin embargo, sugiero que evalues en cuanto afecta el rendimiento de tu conexión y tomar una decisión, quizá personalizar o desactivar su complemento de los navegadores sea buena decisión.
      Saludos.

  4. Hola, tengo mas de 20 established ejecutandose, e corroborado q en el administrator de atreas(detalles) figura la el pid 968 y los established(todos o casi todos) q se estan ejecutando tienen el mismo pid 968.¿ mi pregunta es que debo hacer? ya q dijiste son como maximo 5 o 6 como se si son conexiones permitidas?( mo nivel es principante)

  5. Hola, disculpa entre en el comando netstat i me percate que mi navegador tiene varios established con diferentes Ip, es normal? o se trata de algo malo?

  6. Muy buen post, estuve intentando eliminar los PID que usaban el puerto 8080 a través del CMD eliminada un PID del puerto 8080 y otro lo usaba hasta que leí tu blog descargue TCPview aplique eliminar y logre cargar el programa que necesitaba el puerto 8080 libre muchas gracias

  7. muchas gracias por compartir este tipo de información. he estado tratando de activar el puerto 8080 para instalar el apache y phpmyadmin, pero siempre me sale error.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.