
Dateisystem-Überwachungstool für Linux/Android iOS/macOS
Low-Level-Dateisystem-Überwachungsdienstprogramm für Linux, Android, iOS und macOS.
Entwickelt für
Unter macOS können Sie es jetzt über brew mit diesen Befehlen installieren:
brew tap nowsecure/fsmon https://github.com/nowsecure/fsmon
brew install nowsecure/fsmon/fsmon
Alternativ führen Sie einfach make aus oder wählen Sie die Builds von der Release-Seite aus.
make
make install PREFIX=/usr
Das Tool ruft Dateisystemereignisse aus einem bestimmten Verzeichnis ab und zeigt sie in farbigem Format oder als JSON an.
Es ist möglich, die Ereignisse zu filtern, die von einem bestimmten Programmnamen oder einer Prozess-ID (PID) stammen.
$ ./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 ist ein Low-Level, plattformübergreifender Dateisystemmonitor, der für Entwickler, forensische Analysten und Reverse Engineers entwickelt wurde. Es funktioniert, indem es in die Tracing-Funktionen des OS-Kernels oder Dateibenachrichtigungs-APIs einhakt.
inotify, fanotify wird nicht immer unterstütztinotify und fanotifykdebug, FSEvents, kqueue und /dev/fseventsEchtzeit-Dateiüberwachung Erkennt und meldet Dateioperationen wie Erstellung, Löschung, Änderung, Attributänderungen und Umbenennungen in Echtzeit.
Multi-Backend-Unterstützung
Wählt automatisch das beste verfügbare Überwachungs-Backend aus oder erlaubt Benutzern die Auswahl:
inotify, fanotify (Linux)fsevapi, kdebug, devfsev, kqueue (iOS / macOS)Die Liste der Backends kann mit fsmon -L angezeigt werden.
Prozess-Level-Einblicke Ordnet Dateiereignisse nach Möglichkeit Prozessnamen, PIDs und UIDs zu.
Rekursive Überwachung Überwacht rekursiv gesamte Verzeichnisbäume und fügt dynamisch neue Verzeichnisse hinzu.
JSON-Ausgabeformat
Unterstützt strukturiertes Logging im JSON- oder JSON-Stream-Modus für eine einfache Integration mit anderen Tools (z.B. jq, ELK, etc.).
Dateinamenfilterung und Formatierung Entfernt optional vollständige Pfade, zeigt nur Dateinamen an und färbt die Ausgabe basierend auf dem Ereignistyp ein.
Beispiele für Ereignisse, die fsmon erkennen kann:
CREATE_FILE, DELETE, RENAMEOPEN, CLOSE, STAT_CHANGEDCHOWN, CHMOD, XATTR_MODIFIEDCONTENT_MODIFIED, EXCHANGE, FINDER_INFO_CHANGEDfsmon ist ein portables Tool. Es funktioniert auf iOS, OSX, Linux und Android (x86, arm, arm64, mips)
$ make
Crosskompilierung für iOS/Android wird durch einfaches Ausführen von make ios oder make android ermöglicht:
$ make android NDK_ARCH=<ARCH> ANDROID_API=<API>
Dieses Tool ist freie Software, entwickelt von NowSecure und unter der MIT-Lizenz verbreitet.
Sie können Sergi Alvarez per E-Mail unter [email protected] erreichen.
Selektive Überwachung Filtert Ereignisse nach:
-P)-p)-c)Backup bei Ereignis
Kopiert automatisch betroffene Dateien in ein Backup-Verzeichnis, wenn Änderungen erkannt werden (-b).
Zeitstempel Fügt jedem Ereignis Zeitstempel hinzu, um die forensische Analyse zu erleichtern.
Minimale Abhängigkeiten Geschrieben in portablem C ohne Laufzeitabhängigkeiten außer Standardbibliotheken.
Sanftes Herunterfahren und Signalbehandlung
Behandelt SIGINT, SIGTERM und SIGALRM, um saubere Beendigungen und zeitlich begrenzte Überwachungssitzungen zu ermöglichen.