xml 포맷을 갖는 sysmon 이벤트 로그. 가장 중요한 EventData 계층은 동일한 Data 자식 계층이 반복되는 중첩 구조를 가지고 있다.
<Event>
<System>
<Provider Name="Linux-Sysmon" Guid="{ff032593-a8d3-4f13-b0d6-01fc615a0f97}"/>
<EventID>5</EventID>
<Version>3</Version>
<Level>4</Level>
<Task>5</Task>
<Opcode>0</Opcode>
<Keywords>0x8000000000000000</Keywords>
<TimeCreated SystemTime="2026-01-04T18:12:34.451516000Z"/>
<EventRecordID>8660</EventRecordID>
<Correlation/>
<Execution ProcessID="947" ThreadID="947"/>
<Channel>Linux-Sysmon/Operational</Channel>
<Computer>rocky</Computer>
<Security UserId="0"/>
</System>
<EventData>
<Data Name="RuleName">-</Data>
<Data Name="UtcTime">2026-01-04 18:12:34.454</Data>
<Data Name="ProcessGuid">{00000000-0000-0000-0000-000000000000}</Data>
<Data Name="ProcessId">2481</Data>
<Data Name="Image"><unknown process></Data>
<Data Name="User">root</Data>
</EventData>
</Event>다음은 xmlkv 명령어를 이용한 테이블 구조 변환 결과. 여러 개의 Data 계층이 하나의 필드로만 추출된다. 마지막 User 속성이 이전 속성을 덮어쓴 결과.
이때 xml 계층 경로를 지정할 수 있는 xpath를 사용하면 원하는 테이블 구조를 만들 수 있다.
json과 xml을 모두 지원하는 spath 명령어를 사용할 수도 있는데,
대신 데이터가 xml 태그로만 이루어져 있어야 함.
경로 지정 구문도 좀 더 단순한 편.
eval 명령어 함수로도 사용 가능.







댓글 없음:
댓글 쓰기