esedb-records
ESE(Extensible Storage Engine) 데이터베이스 파일에서 지정한 테이블의 레코드를 조회합니다. 테이블에 정의된 컬럼을 기준으로 각 레코드의 값을 출력 필드에 할당합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 클러스터 관리자 |
| 라이선스 사용량 | 집계함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
옵션
table=STR- 레코드를 조회할 ESE 데이터베이스 테이블 이름
대상
FILE_PATH- 조회할 ESE 데이터베이스 파일의 경로. 와일드카드(
*)를 사용하여 여러 파일을 지정할 수 있습니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
_file | 문자열 | ESE 데이터베이스 파일 이름 |
_table | 문자열 | 테이블 이름 |
| 동적 | - | 테이블에 정의된 컬럼에 따라 동적으로 필드가 생성됩니다. esedb-columns 명령어로 테이블의 컬럼 정의를 확인할 수 있습니다. |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
table-option-is-required | - | table 옵션을 지정하지 않은 경우 |
런타임 오류
| 오류 코드 | 메시지 | 설명 | 후처리 동작 |
|---|---|---|---|
| - | cannot load ESE DB file: [경로] | ESE 데이터베이스 파일을 읽을 수 없는 경우 | 쿼리 실행을 중단함 |
설명
esedb-records 명령어는 ESE 데이터베이스 파일을 열어 지정한 테이블의 모든 레코드를 조회합니다. ESE는 윈도우 운영 체제에서 사용하는 내장 데이터베이스 엔진으로, Internet Explorer 방문 기록(WebCacheV01.dat), Windows Search 인덱스(Windows.edb) 등 다양한 윈도우 아티팩트에서 사용됩니다.
출력 필드는 _file과 _table 고정 필드 외에 테이블의 컬럼 정의에 따라 동적으로 생성됩니다. 필드 순서는 _file, _table에 이어 테이블의 컬럼 순서를 따릅니다.
조회할 테이블의 컬럼 구조를 사전에 확인하려면 esedb-columns 명령어를 사용합니다.
이 명령어는 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요하며, 접근 가능한 파일 경로가 제한됩니다. 자세한 내용은 파일 접근 제한을 참고하세요.
사용 예
각 사용 예의 파일 경로는 ALLOWED_FILE_SCAN_PATHS 설정에 포함되어 있다고 가정합니다.
-
ESE 데이터베이스의 테이블 레코드 조회
esedb-records table=Containers /opt/logpresso/evidence/WebCacheV01.datWebCacheV01.dat파일의Containers테이블에서 모든 레코드를 조회합니다. -
여러 ESE 데이터베이스 파일의 레코드 조회
esedb-records table=SystemIndex_PropertyStore /opt/logpresso/evidence/*.edb지정한 디렉터리의 모든 EDB 파일에서
SystemIndex_PropertyStore테이블의 레코드를 조회합니다. -
특정 조건으로 레코드 필터링
esedb-records table=Containers /opt/logpresso/evidence/WebCacheV01.dat | search Name == "*History*"Containers테이블에서 이름에History가 포함된 레코드만 필터링합니다.
호환성
esedb-records 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.