firefox-downloads

Firefox 브라우저의 places.sqlite 데이터베이스 파일을 파싱하여 파일 다운로드 이력을 조회합니다. 다운로드 주석(annotation) 테이블에서 다운로드 대상 파일 경로, 파일 크기, 다운로드 시작 및 종료 시각을 추출하고, 장소(places) 테이블에서 다운로드 URL을 조회하여 결합합니다.

명령어 속성

항목설명
명령어 유형드라이버 쿼리
필요 권한클러스터 관리자
라이선스 사용량집계함
병렬 실행미지원
분산 실행수집 노드에서 실행 (mapper)

문법

firefox-downloads [zippath=STR] [zipcharset=STR] FILE_PATH

옵션

zippath=STR
places.sqlite 파일이 포함된 ZIP 파일의 경로. ZIP 파일 내부의 SQLite 파일을 직접 조회할 때 사용합니다.
zipcharset=STR
ZIP 파일 엔트리의 문자 집합 (기본값: utf-8)

대상

FILE_PATH
조회할 Firefox places.sqlite 파일의 경로. 와일드카드(*)를 사용하여 여러 파일을 지정할 수 있습니다.

출력 필드

필드타입설명
_time날짜다운로드 시작 시각. start_time과 동일한 값을 할당합니다.
start_time날짜다운로드 시작 시각
end_time날짜다운로드 종료 시각. 다운로드가 성공한 경우에만 할당합니다.
file_path문자열다운로드 대상 파일의 로컬 경로
file_size64비트 정수다운로드된 파일 크기 (바이트). 다운로드가 성공한 경우에만 할당합니다.
url문자열다운로드 원본 URL

오류 코드

파싱 오류

해당 사항 없음

런타임 오류
오류 코드메시지설명후처리 동작
-cannot load firefox places database: PATHFirefox places 데이터베이스를 읽을 수 없는 경우쿼리 실행을 중단함

설명

firefox-downloads 명령어는 Firefox 브라우저가 다운로드 이력을 저장하는 places.sqlite 파일을 파싱합니다. 내부적으로 moz_anno_attributes, moz_annos, moz_places 세 개의 테이블을 조회하여 다운로드 정보를 구성합니다.

moz_annos 테이블에서 downloads/destinationFileURI 속성으로 다운로드 대상 파일 경로를 추출하고, downloads/metaData 속성에서 다운로드 상태, 파일 크기, 종료 시각을 추출합니다. 다운로드 상태가 성공(state=1)인 경우에만 file_sizeend_time 필드를 할당합니다.

타임스탬프는 마이크로초 단위의 UNIX 타임스탬프를 밀리초 단위로 변환하여 날짜로 할당합니다.

이 명령어는 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요하며, 접근 가능한 파일 경로가 제한됩니다. 자세한 내용은 파일 접근 제한을 참고하세요.

사용 예

각 사용 예의 파일 경로는 ALLOWED_FILE_SCAN_PATHS 설정에 포함되어 있다고 가정합니다.

  1. Firefox 다운로드 이력 조회

    firefox-downloads /opt/logpresso/evidence/places.sqlite
    

    지정한 경로의 places.sqlite 파일에서 모든 다운로드 이력을 조회합니다.

  2. 와일드카드로 여러 파일 조회

    firefox-downloads /opt/logpresso/evidence/*/places.sqlite
    

    지정한 패턴에 일치하는 모든 places.sqlite 파일에서 다운로드 이력을 조회합니다.

  3. ZIP 파일 내부의 places.sqlite 파일 조회

    firefox-downloads zippath=/opt/logpresso/evidence/browser.zip places.sqlite
    

    ZIP 파일 내부의 places.sqlite 파일에서 다운로드 이력을 조회합니다.

호환성

firefox-downloads 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.