parseleef
LEEF(Log Event Extended Format) 형식의 로그를 파싱하여 각 필드로 추출합니다. IBM QRadar에서 사용하는 LEEF 1.0과 LEEF 2.0 형식을 모두 지원합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
옵션
field=FIELD- 파싱할 LEEF 로그가 담긴 필드 이름을 지정합니다 (기본값:
line). overlay={t|f}- 파싱 결과를 원본 레코드에 오버레이할지 여부를 지정합니다 (기본값:
f).
t: 파싱된 필드를 원본 레코드에 추가합니다. 같은 이름의 필드가 있으면 파싱된 값으로 덮어씁니다.f: 파싱된 필드만 포함한 새 레코드를 생성합니다.
prefix=PREFIX- 출력 필드 이름에 추가할 접두사를 지정합니다.
postfix=POSTFIX- 출력 필드 이름에 추가할 접미사를 지정합니다.
출력 필드
LEEF 헤더에서 추출되는 기본 필드는 다음과 같습니다.
| 필드 | 타입 | 설명 |
|---|---|---|
| leef_ver | 문자열 | LEEF 버전 (예: 1.0, 2.0) |
| vendor | 문자열 | 제품 공급사 이름 |
| product | 문자열 | 제품 이름 |
| ver | 문자열 | 제품 버전 |
| event_id | 문자열 | 이벤트 식별자 |
LEEF 확장 속성(Extension) 필드는 LEEF 로그의 내용에 따라 달라집니다. 다음은 타입 변환이 적용되는 표준 LEEF 필드 예시입니다.
| 필드 | 타입 | 설명 |
|---|---|---|
| sev | 32비트 정수 | 심각도 |
| src | IP 주소 | 출발지 IP 주소 |
| dst | IP 주소 | 목적지 IP 주소 |
| srcPort | 32비트 정수 | 출발지 포트 번호 |
| dstPort | 32비트 정수 | 목적지 포트 번호 |
| srcPreNAT | IP 주소 | NAT 이전 출발지 IP |
| dstPreNAT | IP 주소 | NAT 이전 목적지 IP |
| srcPostNAT | IP 주소 | NAT 이후 출발지 IP |
| dstPostNAT | IP 주소 | NAT 이후 목적지 IP |
| srcPreNATPort | 32비트 정수 | NAT 이전 출발지 포트 |
| dstPreNATPort | 32비트 정수 | NAT 이전 목적지 포트 |
| srcPostNATPort | 32비트 정수 | NAT 이후 출발지 포트 |
| dstPostNATPort | 32비트 정수 | NAT 이후 목적지 포트 |
| identSrc | IP 주소 | 식별된 출발지 IP |
| vSrc | IP 주소 | 가상 출발지 IP |
| srcBytes | 64비트 정수 | 출발지에서 전송한 바이트 수 |
| dstBytes | 64비트 정수 | 목적지에서 전송한 바이트 수 |
| srcPackets | 64비트 정수 | 출발지 패킷 수 |
| dstPackets | 64비트 정수 | 목적지 패킷 수 |
| totalPackets | 64비트 정수 | 전체 패킷 수 |
| isLoginEvent | 불리언 | 로그인 이벤트 여부 |
| isLogoutEvent | 불리언 | 로그아웃 이벤트 여부 |
| identSecondIp | IP 주소 | 두 번째 식별 IP 주소 |
| devTime | 날짜 | 장치 이벤트 시각 (devTimeFormat 필드의 형식을 사용하여 파싱) |
| proto | 32비트 정수 | 프로토콜 번호 (값이 숫자인 경우 정수로 변환) |
위 목록에 없는 확장 속성 필드는 문자열 타입으로 출력됩니다.
오류 코드
파싱 오류
해당 사항 없음
런타임 오류
해당 사항 없음
설명
parseleef 명령어는 LEEF 1.0 및 LEEF 2.0 형식의 로그를 파싱합니다.
LEEF 로그의 기본 구조는 다음과 같습니다.
- LEEF 1.0:
LEEF:1.0|Vendor|Product|Version|EventID|key=value\tkey=value... - LEEF 2.0:
LEEF:2.0|Vendor|Product|Version|EventID|Delimiter|key=value<Delimiter>key=value...
LEEF 2.0에서는 확장 속성의 구분자를 헤더에 명시합니다. 구분자는 단일 문자이거나 16진수 코드(0x09 형식)로 지정합니다.
파싱에 실패하거나 대상 필드가 null인 경우 원본 레코드를 그대로 전달합니다.
prefix 또는 postfix 옵션을 지정하면 모든 출력 필드 이름에 해당 접두사와 접미사가 추가됩니다.
사용 예
-
기본 필드에서 LEEF 로그 파싱
table duration=1h SYSLOG | parseleefline필드에 담긴 LEEF 형식 로그를 파싱하여 각 필드로 추출합니다. -
특정 필드에서 파싱하고 원본 필드 유지
table duration=1h SYSLOG | parseleef field=message overlay=tmessage필드를 파싱하고, 파싱된 결과를 원본 레코드에 오버레이합니다. -
출력 필드에 접두사 추가
table duration=1h SYSLOG | parseleef prefix=leef_파싱된 모든 필드 이름 앞에
leef_접두사를 추가합니다. 예를 들어src필드는leef_src로 출력됩니다.
호환성
parseleef 명령어는 소나 4.0 이전 버전부터 제공되었습니다.