
Linux/Android iOS/macOS用ファイルシステムモニタツール
Linux、Android、iOS、macOS向けの低レベルファイルシステムモニタユーティリティ。
設計対象
macOSでは、以下のコマンドでbrewを使ってインストールできます:
brew tap nowsecure/fsmon https://github.com/nowsecure/fsmon
brew install nowsecure/fsmon/fsmon
または、makeを実行するか、リリースページからビルドを選択してください。
make
make install PREFIX=/usr
このツールは特定のディレクトリからファイルシステムイベントを取得し、カラフルな形式またはJSONで表示します。
特定のプログラム名またはプロセスID(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は、開発者、フォレンジック分析者、リバースエンジニア向けに設計された、低レベルかつクロスプラットフォームなファイルシステムモニタです。OSカーネルのトレース機能やファイル通知APIにフックすることで動作します。
inotify経由、fanotifyは常にサポートされるわけではないinotifyとfanotify経由kdebug、FSEvents、kqueue、/dev/fseventsを使用リアルタイムファイル監視 作成、削除、変更、属性変更、名前変更などのファイル操作をリアルタイムで検出・報告します。
マルチバックエンド対応 利用可能な最適な監視バックエンドを自動選択するか、ユーザーが選択できます:
inotify, fanotify (Linux)fsevapi, kdebug, devfsev, kqueue (iOS / macOS)
バックエンドの一覧はfsmon -Lで表示できます。プロセスレベルの洞察 可能な場合、ファイルイベントをプロセス名、PID、UIDに関連付けます。
再帰的監視 ディレクトリツリー全体を再帰的に監視し、新しいディレクトリを動的に追加します。
JSON出力形式
JSONまたはJSONストリームモードでの構造化ログ出力をサポートし、他のツール(例:jq、ELKなど)との統合が容易です。
ファイル名フィルタリングと整形 必要に応じてフルパスを削除し、ファイル名のみを表示し、イベントタイプに基づいて出力を色付けします。
選択的監視 以下の条件でイベントをフィルタリング:
-P)-p)fsmonが検出できるイベントの例:
CREATE_FILE, DELETE, RENAMEOPEN, CLOSE, STAT_CHANGEDCHOWN, CHMOD, XATTR_MODIFIEDCONTENT_MODIFIED, EXCHANGE, FINDER_INFO_CHANGEDfsmonはポータブルなツールです。iOS、OSX、Linux、Android(x86、arm、arm64、mips)で動作します。
$ make
iOS/Androidへのクロスコンパイルは、make iosまたはmake androidを実行するだけで簡単に行えます:
$ make android NDK_ARCH=<ARCH> ANDROID_API=<API>
このツールはNowSecureによって開発されたフリーソフトウェアであり、MITライセンスの下で配布されています。
Sergi Alvarezへのお問い合わせは、メール [email protected] までお願いします。
-c)イベント発生時のバックアップ
変更が検出されたときに影響を受けたファイルを自動的にバックアップディレクトリにコピーします (-b)。
タイムスタンプ 各イベントにタイムスタンプを追加し、フォレンジック分析を容易にします。
最小限の依存関係 ポータブルCで記述されており、標準ライブラリ以外の実行時依存関係はありません。
グレースフルシャットダウンとシグナル処理
SIGINT、SIGTERM、SIGALRMを処理し、クリーンな終了と時間制限付き監視セッションを可能にします。