
Herramienta de monitoreo del sistema de archivos para Linux/Android iOS/macOS
Utilidad de monitorización de sistema de archivos de bajo nivel para Linux, Android, iOS y macOS.
Diseñado para
En macOS ahora puedes instalarlo a través de brew con estos comandos:
brew tap nowsecure/fsmon https://github.com/nowsecure/fsmon
brew install nowsecure/fsmon/fsmon
Alternativamente, ejecuta make o elige las compilaciones desde la página de lanzamientos.
make
make install PREFIX=/usr
La herramienta obtiene eventos del sistema de archivos desde un directorio específico y los muestra en formato colorido o en JSON.
Es posible filtrar los eventos que ocurren desde un nombre de programa específico o ID de proceso (PID).
$ ./fsmon -h
Usage: ./fsmon-macos [-Jjc] [-a sec] [-b dir] [-B name] [-p pid] [-P proc] [path]
-a [sec] stop monitoring after N seconds (alarm)
-b [dir] backup files to DIR folder (EXPERIMENTAL)
-B [name] specify an alternative backend
-c follow children of -p PID
-f show only filename (no path)
-h show this help
-j output in JSON format
-J output in JSON stream format
-n do not use colors
-L list all filemonitor backends
-p [pid] only show events from this pid
-P [proc] events only from process name
-v show version
[path] only get events from this path
Examples:
fsmon /data
fsmon -J / | jq -r .filename
fsmon -B fanotify /home
$
fsmon es un monitor de sistema de archivos de bajo nivel y multiplataforma diseñado para desarrolladores, analistas forenses e ingenieros inversores. Funciona enganchándose a las facilidades de rastreo del kernel del sistema operativo o a las API de notificación de archivos.
inotify; fanotify no siempre es compatibleinotify y fanotifykdebug, FSEvents, kqueue y /dev/fseventsMonitorización de archivos en tiempo real Detecta e informa operaciones de archivos como creación, eliminación, modificación, cambios de atributos y renombrados en tiempo real.
Soporte de múltiples backends
Selecciona automáticamente el mejor backend de monitorización disponible o permite al usuario elegir:
inotify, fanotify (Linux)fsevapi, kdebug, devfsev, kqueue (iOS / macOS)La lista de backends se puede mostrar con fsmon -L.
Información a nivel de proceso Asocia eventos de archivos con nombres de proceso, PIDs y UIDs, cuando es posible.
Monitorización recursiva Monitorea árboles de directorios completos de forma recursiva, añadiendo dinámicamente nuevos directorios.
Formato de salida JSON
Soporta registro estructurado en JSON o en modo de flujo JSON para facilitar la integración con otras herramientas (por ejemplo, jq, ELK, etc.).
Filtrado y formato de nombres de archivo Opcionalmente elimina rutas completas, muestra solo nombres de archivos y colorea la salida según el tipo de evento.
Ejemplos de eventos que fsmon puede detectar:
CREATE_FILE, DELETE, RENAMEOPEN, CLOSE, STAT_CHANGEDCHOWN, CHMOD, XATTR_MODIFIEDCONTENT_MODIFIED, EXCHANGE, FINDER_INFO_CHANGEDfsmon es una herramienta portable. Funciona en iOS, OSX, Linux y Android (x86, arm, arm64, mips)
$ make
La compilación cruzada para iOS/Android es sencilla ejecutando make ios o make android:
$ make android NDK_ARCH=<ARCH> ANDROID_API=<API>
Esta herramienta es software libre desarrollada por NowSecure y distribuida bajo la licencia MIT.
Puedes contactar a Sergi Alvarez por correo electrónico [email protected]
Monitorización selectiva Filtrar eventos por:
-P)-p)-c)Copia de seguridad al detectar evento
Copia automáticamente los archivos afectados a un directorio de respaldo cuando se detectan cambios (-b).
Marcas de tiempo Añade marcas de tiempo a cada evento para facilitar el análisis forense.
Dependencias mínimas Escrito en C portable sin dependencias de tiempo de ejecución más allá de las bibliotecas estándar.
Apagado elegante y manejo de señales
Maneja SIGINT, SIGTERM y SIGALRM para permitir salidas limpias y sesiones de monitorización temporizadas.