Este proyecto implementa un sistema de registro de comandos en Linux que captura y almacena la actividad de la terminal. Está compuesto por dos programas principales:
- Un proceso en segundo plano (daemon) que escucha y gestiona el almacenamiento.
- Un mecanismo que intercepta los comandos ingresados en la terminal.
El objetivo es demostrar cómo funcionan los procesos en segundo plano, la manipulación del entorno de la shell y la captura de entrada en sistemas Linux.
El sistema opera en tres etapas principales:
- Se ejecuta el programa
storage_listen.c. - Este programa se convierte en un proceso demonio.
- Se encarga de escuchar y gestionar el almacenamiento de los datos capturados.
- Se configura el entorno de la shell mediante
.bashrc. - Se ejecuta un segundo programa que captura los comandos ingresados en la terminal.
- La captura ocurre antes de que el comando sea procesado por la shell.
- Cuando el usuario presiona
Enter, el comando ingresado es registrado. - Los datos se guardan en un archivo de texto (
.txt).
.
├── storage_listen.c # Proceso daemon para escucha y almacenamiento
├── interceptor.c # Captura de comandos (ejecutado desde .bashrc)
├── listen_input.txt # Archivo donde se guardan los comandos
└── README.md
gcc storage_listen.c -o storage_listen
gcc listen_input.c -o listen_input./storage_listen &Agregar una línea como:
./listen_inputLuego recargar:
source ~/.bashrcEste proyecto está diseñado con fines educativos para explorar:
- Procesos daemon en Linux
- Manipulación del entorno de la shell
- Manejo de entrada/salida
- Persistencia de datos
Este tipo de implementación puede considerarse invasiva si se utiliza sin el consentimiento del usuario.
- ❌ No debe usarse en sistemas sin autorización.
- ❌ Puede violar políticas de privacidad y leyes locales.
- ✅ Uso recomendado solo en entornos controlados o educativos.