Analizando la actividad de tu sistema Linux
- May 9, 2014
- tuxotron

Puedes tener muchas razones por las que quieras monitorizar el comportamiento o actividad de un sistema, ya sean por razones de seguridad, rendimiento, etc.
Actualmente, en los sistemas basados en el núcleo de Linux tienes un buen puñado de utilidades que te permiten llevar a cabo esta tarea, pero en esta entrada quiero hablar sobre una que yo particularmente no conocía llamada: sysdig.
Sysdig es una herramienta open source que nos permite guardar el estado y actividad del sistema y más tarde filtrar y analizar. Según la propia web de Sysdig, es una mezcla de strace + tcpdump + lsof + funcionalidad extra con la ayuda de un poco de Lua.
Sysdig se sienta dentro del núcleo, lo cual la hace muy potente al poder interceptar todas las actividades relevantes. Por este echo, necesitas permisos de root para poder usarla. El código que ejecuta es mínimo, la cual la hace una opción viable para correr en sistemas de producción y además nos permite analizar el código en tiempo real, o como decía antes, almacenarlo en un fichero para su posterior análisis. Y como última característica a destacar, es fácilmente extensible a través de scripts escritos en Lua.
Algunos ejemplos sacados del sitio web:
sysdig -w trace.scap
Vuelca toda la actividad del sistema en el fichero trace.scap para su posterior análisis.
sysdig -c topfiles_time proc.name=httpd
Muestra los ficheros en los que el demonio httpd (Apache) pasa la mayor parte del tiempo haciendo operaciones de entrada/salida (I/O).
sysdig -A -c echo_fds fd.sip=192.168.0.1 and proc.name=httpd
Muestra los datos de red que Apache (demonio httpd) ha intercambiado con la dirección 192.168.0.1
sysdig evt.type=open and fd.name contains /etc
Muestra todas las veces que un fichero bajo /etc es abierto.
Aunque esta herramienta actualmente sólo funciona (captura de eventos) en sistemas Linux, dispones de versiones para Windows y OS X, pero estas sólo sirven para analizar un fichero previamente creado en un sistema Linux.
Si quieres ver un uso real de Sysdig, echa un vistazo a esta entrada.
Crea tu propio sistema operativo en C++
- May 9, 2014
- tuxotron
- 1. Introduction about the x86 architecture and about our OS
- 2. Setup the development environment
- 3. First boot with GRUB
- 4. Backbone of the OS and C++ runtime
- 5. Base classes for managing x86 architecture
- 6. GDT
- 7. IDT and interrupts
- 8. Memory management: physical and virtual
- 9. Process management and multitasking
- 10. External program execution: ELF files
- 11. Userland and syscalls
- 12. Modular drivers
- 13. Some basics modules: console, keyboard
- 14. IDE Hard disks
- 15. DOS Partitions
- 16. EXT2 read-only filesystems
- 17. Standard C library (libC)
- 18. UNIX basic tools: sh, cat
- 19. Lua interpreter

Si te interesa cómo funcionan los sistemas operativos, nada como escribir el tuyo propio para realmente conocer sus pilares.
How to Make a Computer Operating System es un proyecto en proceso, en el que capítulo a capítulo nos explican como crear nuestro propio sistema operativo desde cero, usando C++. El objetivo es crear un sistema operativo muy simple basado en UNIX.
Actualmente hay 8 de los 19 capítulos que en estos momentos están planeados:
Si te interesan estos temas, te recomiendo encarecidamente The Linux Programming Interface.
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec