martes, 4 de octubre de 2016

connmon v1.0 - Lista las conexiones actuales

Es muy interesante saber qué proceso se está comunicando con un host remoto en un momento dado, sobre todo en diagnósticos donde existan sospechas de algún troyano.

Existen un par de herramientas muy recomendables para averiguar la información de las conexiones activas que se están produciendo en Windows: netstat y tcpview.

Dando una vuelta a las API's de Windows que utilizan la información de la pila TCP/IP encontré la posibilidad de crear una herramienta que me proporcionara en un momento dado la información realmente relevante para llevar a cabo un diagnóstico como el mencionado antes, de forma rápida y eficiente. Esta información sería: de la parte remota la IP y el puerto, y de la parte cliente el puerto, el ID del proceso cliente y la ubicación de la imagen ejecutable del proceso.

Para ello desarrollé una pequeña herramienta que solo me proporciona esta información: connmon.exe

Y el resultado puede ser así:


De un vistazo vemos que en un momento dado el proceso de experiencia de usuario de NVIDIA se está comunicando con una IP pública (supuestamente de NVIDIA) y Google Earth hace lo mismo con otras IPs (supuestamente de Google).

Si volvemos a ejecutar connmon.exe es muy posible que esta información sea distinta. Sería como hacer una foto de las conexiones actuales y verlas.

De esta forma, en caso de sospecha, connmon.exe nos ayuda a ser rápidos.

Perl6 y la capacidad de los discos

Llevo ya unos meses introducido en el mundo de Perl6 y cada vez me parece más interesante. Ya he contribuido con la traducción de la Introducción a Perl6 y por otro lado he publicado hace poco mi primer módulo de Perl6: FileSystem::Capacity::VolumesInfo.

El objetivo de este módulo es proporcionar información al usuario sobre la capacidad de los puntos de montaje o unidades (dependiendo del sistema operativo) en un momento dado. Esta información servirá de ayuda para tomar medidas cuando estas capacidades están cerca de su límite, como por ejemplo eliminar o mover archivos, y así evitar el colapso de ese punto de montaje o unidad.

Este módulo es muy útil para administradores de sistemas y tengo la idea de complementarlo con más módulos que proporcionen información útil del sistema para hacer la vida más fácil a los sysadmin, pero ¡con Perl6!

Si eres un sysadmin y todavía no has probado Perl6, ¡te animo a ello!