lunes, 28 de septiembre de 2015

Como saber que puertos estan abiertos en nuestra pc y que aplicacion los esta usando. (netstat)

Ha pasado que de repente nuestra pc tiene mucho trafico de ancho de banda o vemos que tenemos abiertas muchas conexiones de red sin saber que es cada cosa ni para que sirve y mucho peor sin saber que aplicacion o proceso esta abriendo estos puertos, bueno pues esta es una forma sencilla de saberlo y si es necesario de finalizar el proceso para cerrar dichos puertos.
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.

No olviden compartir.

1 comentario:

  1. Hola, gracias por compartir.
    Recomiendo publicar las fuentes de información, así nos ayudamos todos.

    ResponderEliminar