Systemaktivität mit fatrace monitoren

Dank einem zunächst eher unscheinbaren Hinweis auf Thomas Christlieb’s Blog, bin ich auf fatrace aufmerksam geworden. Danke Thomas.

Mit „fatrace“ läßt sich sehen, was Programme so genau im System treiben. Im Gegensatz zu „strace“, daß mit „strace -f -e open,read,write,close,stat -p PID “ auch die Dateiaktivitäten eines Programms anzeigen kann, sieht man hier alle Programm gleichzeitig arbeiten, ganz ohne das unnötige Beiwerk von „strace“.

Ein Beispiel:

thunderbird(1985): RCO /home/marius/.thunderbird/stmtg0mw.default/Mail/pop3.web.de/popstate.dat
thunderbird(1985): CWO /home/marius/.thunderbird/stmtg0mw.default/Mail/pop3.web.de/popstate-1.dat
thunderbird(1985): WO /home/marius/.thunderbird/stmtg0mw.default/Mail/pop3.web.de/popstate-1.dat
thunderbird(1985): CW /home/marius/.thunderbird/stmtg0mw.default/Mail/pop3.web.de/popstate-1.dat
cinnamon-settin(1773): RO /etc/fstab
cinnamon-settin(1773): C /etc/fstab
systemd-journal(806): O /var/log/journal/7e390913b33b4e5ba8f960a9ba97aeee
systemd-journal(806): RC /var/log/journal/7e390913b33b4e5ba8f960a9ba97aeee

Mit der Option „-f“ kann man die Ausgabe zudem auf einzelne Aktivitäten reduzieren, z.B. mit „-f ow“ auf das Öffnen und Schreiben von Dateien. Mit „-p“ kann man Prozesse ausschliessen und mit „-s“ die Dauer der Aufzeichnung begrenzen.

fatrace ist seit 2011 auf der Welt und wurde von Martin Pitt geschaffen und hat natürlich nichts mit „fat race“ zu tun, sondern mit „File Access TRACE“ 🙂

Was jetzt noch fehlt ist ein komfortables Tool mit Oberfläche, daß auch eine gefilterte Ausgabe erlaubt. Unter AmigaOS wäre das z.B. SnoopDOS  und Window hatte da seinen FileMon. Spontan fällt mir zu fatrace auch sofort ein anderes Anwendungsgebiet ein: NIDS-überwachung.

Wenn man fatrace mit „-f o“ startet könnte man es mit „| grep -E ‚(passwd|group|…andere kritische Pfade)‘ “ auf bestimmte Dateien filtern. Da man zusätzlich noch einen Timestamp einblenden kann, wäre das ausnutzbar um Hackaktivitäten zu finden.

Alternativ kann man Dateien auch mit „inotify“ überwachen. Das wird gern vom Maldet Projekt benutzt um Virenscans bei Dateiänderungen zu machen