
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을 처리하여 깔끔한 종료와 시간 제한 모니터링 세션을 가능하게 합니다.