
Outil de surveillance de système de fichiers pour Linux/Android iOS/macOS
Utilitaire de surveillance de système de fichiers de bas niveau pour Linux, Android, iOS et macOS.
Conçu pour
Sur macOS vous pouvez désormais l'installer via brew avec ces commandes :
brew tap nowsecure/fsmon https://github.com/nowsecure/fsmon
brew install nowsecure/fsmon/fsmon
Sinon, exécutez simplement make ou choisissez les builds depuis la page des versions.
make
make install PREFIX=/usr
L'outil récupère les événements du système de fichiers à partir d'un répertoire spécifique et les affiche en format coloré ou en JSON.
Il est possible de filtrer les événements provenant d'un nom de programme spécifique ou d'un identifiant de processus (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 est un moniteur de système de fichiers de bas niveau et multi-plateforme conçu pour les développeurs, les analystes légistes et les ingénieurs en rétro-ingénierie. Il fonctionne en se connectant aux mécanismes de traçage du noyau du système d'exploitation ou aux API de notification de fichiers.
inotify, fanotify n'est pas toujours supportéinotify et fanotifykdebug, FSEvents, kqueue, et /dev/fseventsSurveillance en temps réel des fichiers Détecte et rapporte les opérations sur les fichiers telles que la création, la suppression, la modification, les changements d'attributs et les renommages en temps réel.
Support multi-backend Sélectionne automatiquement le meilleur backend de surveillance disponible ou permet aux utilisateurs de choisir :
inotify, fanotify (Linux)fsevapi, kdebug, devfsev, kqueue (iOS / macOS)La liste des backends peut être affichée avec fsmon -L.
Informations au niveau des processus Associe les événements de fichier aux noms de processus, PID et UID, lorsque possible.
Surveillance récursive Surveille récursivement des arborescences de répertoires entières, en ajoutant dynamiquement de nouveaux répertoires.
Format de sortie JSON
Prend en charge la journalisation structurée en JSON ou en mode flux JSON pour une intégration facile avec d'autres outils (ex. jq, ELK, etc.).
Filtrage et formatage des noms de fichiers Supprime optionnellement les chemins complets, affiche uniquement les noms de fichiers et colorise la sortie en fonction du type d'événement.
Exemples d'événements que fsmon peut détecter :
CREATE_FILE, DELETE, RENAMEOPEN, CLOSE, STAT_CHANGEDCHOWN, CHMOD, XATTR_MODIFIEDCONTENT_MODIFIED, EXCHANGE, FINDER_INFO_CHANGEDfsmon est un outil portable. Il fonctionne sur iOS, OSX, Linux et Android (x86, arm, arm64, mips).
$ make
La compilation croisée vers iOS/Android est facilitée en exécutant simplement make ios ou make android :
$ make android NDK_ARCH=<ARCH> ANDROID_API=<API>
Cet outil est un logiciel libre développé par NowSecure et distribué sous la licence MIT.
Vous pouvez contacter Sergi Alvarez par email [email protected].
Surveillance sélective Filtrer les événements par :
-P)-p)-c)Sauvegarde sur événement
Copie automatiquement les fichiers concernés vers un répertoire de sauvegarde lorsque des modifications sont détectées (-b).
Horodatage Ajoute des horodatages à chaque événement pour faciliter l'analyse légiste.
Dépendances minimales Écrit en C portable sans dépendances d'exécution autres que les bibliothèques standard.
Arrêt gracieux et gestion des signaux
Gère SIGINT, SIGTERM et SIGALRM pour permettre des sorties propres et des sessions de surveillance temporisées.