Glossar
FSEvents-Flags
Der 32-Bit-Bitsatz in jedem FSEvents-Datensatz, der angibt, was sich geändert hat (erstellt, entfernt, umbenannt …), und den Objekttyp.
FSEvents-Flags sind das 32-Bit-Feld in jedem FSEvents-Datensatz, das angibt, was mit dem Pfad geschah und um welche Art von Objekt es sich handelt. Der Wert ist Little-Endian gespeichert. So gelesen beschreiben die niedrigen Bits die Änderung (Created 0x1, Removed 0x2, InodeMetaMod 0x4, Renamed 0x8, Modified 0x10, ExtendedAttrModified 0x200, ExtendedAttrRemoved 0x400, ItemCloned 0x4000 …), die hohen Bits den Objekttyp (File 0x00800000, Folder 0x01000000, SymbolicLink, HardLink) und Volume-Ereignisse (Mount, Unmount, EndOfTransaction).
Warum das für Untersuchungen wichtig ist
Die Flags sind die einzige Beschreibung eines Ereignisses: FSEvents speichert weder Benutzer noch Prozess noch Inhalt. Sie richtig zu lesen, macht den Unterschied zwischen „eine Datei wurde heruntergeladen“ und „die Berechtigungen einer Datei wurden geändert“.
Drei Fallstricke treten häufig auf:
- Bytereihenfolge. FSEventsParser liest dieselben vier Bytes Big-Endian und verwendet byteweise vertauschte Konstanten (
Created= 0x01000000). Beide Konventionen liefern dieselben Namen; sie zu vermischen nicht. - API-Konstanten sind andere. Apples öffentliche
kFSEventStreamEventFlag*-Werte beschreiben, was eine laufende App erhält, nicht was in.fseventsdgeschrieben wird. Wer diese Tabelle auf Logdateien anwendet, erhält falsche Namen. - Mehrere Änderungen pro Datensatz. Wegen der Zusammenfassung von Ereignissen kann ein Datensatz
Created,ModifiedundRemovedgleichzeitig tragen, ohne gespeicherte Reihenfolge.
Bits ohne dokumentierte Bedeutung zeigt man besser hexadezimal an, statt zu raten; in gecarvten Daten deuten sie auf Beschädigung hin.
Beispiel
| Rohwert | Dekodiert | Übliche Lesart |
|---|---|---|
0x00800011 | Created, Modified, File | Eine neue Datei wurde geschrieben |
0x00800400 | ExtendedAttrRemoved, File | Ein Attribut wurde entfernt |
0x00800008 | Renamed, File | Eine Seite einer Umbenennung oder Verschiebung |
0x03000000 | Mount, Folder | An diesem Pfad wurde ein Volume eingehängt |
Verwandte Begriffe
Der FSEvents Parser zeigt Flags als beschriftete Chips samt Rohwert; jedes Bit ist in FSEvents-Flags erklärt aufgeführt.