outputpcap
입력으로 받은 payload 필드를 지정한 파일 시스템 경로에 PCAP 파일로 기록합니다. 네트워크 패킷을 캡처하여 파일로 저장할 때 사용합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 클러스터 관리자 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 분석 노드에서 실행 (reducer) |
문법
outputpcap FILE_PATH
대상
FILE_PATH- PCAP 파일을 기록할 파일 시스템 경로. 쿼리 컨텍스트 참조(
${})를 사용할 수 있습니다.
입력 필드
| 필드 | 타입 | 필수 여부 | 설명 |
|---|---|---|---|
payload | 바이너리 | 필수 | PCAP 파일에 기록할 패킷 데이터. byte[] 타입이 아니면 해당 레코드를 기록하지 않고 건너뜁니다. |
_time | 날짜 | 선택 | 패킷의 타임스탬프. 미설정 시 현재 시각을 사용합니다. |
출력 필드
입력 레코드의 필드를 그대로 전달합니다.
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 11802 | outputpcap 명령어로 내보낼 FILE_PATH 매개변수가 필요합니다. | 파일 경로가 지정되지 않은 경우 |
| 11803 | outputpcap 명령어의 매개변수가 너무 많습니다. | 매개변수가 2개 이상 지정된 경우 |
런타임 오류
| 오류 코드 | 메시지 | 설명 | 후처리 동작 |
|---|---|---|---|
| 11800 | outputpcap 명령어로 내보낼 파일 경로 file_path로의 접근이 거부되었습니다. | 파일 경로에 대한 접근 권한이 없는 경우 | 쿼리를 취소함 |
| 11804 | outputpcap 명령어로 내보낼 PCAP 파일을 열 수 없습니다: [file] | PCAP 파일을 열 수 없는 경우 (경로 오류 등) | 쿼리를 취소함 |
설명
outputpcap 명령어는 입력 레코드의 payload 필드에 포함된 바이너리 데이터를 PCAP 파일에 기록합니다. payload 필드가 byte[] 타입이 아닌 레코드는 기록하지 않고 다음 명령어로 그대로 전달됩니다.
각 패킷의 타임스탬프는 _time 필드 값을 사용하며, _time 필드가 Date 타입이 아니면 현재 시각을 사용합니다. 기록이 완료된 레코드는 다음 명령어로 그대로 전달됩니다.
분산 환경에서는 분석 노드에서 파일 쓰기를 수행합니다.
이 명령어는 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요하며, 접근 가능한 파일 경로가 제한됩니다. 자세한 내용은 파일 접근 제한을 참고하세요.
사용 예
각 사용 예의 파일 경로는 ALLOWED_FILE_SCAN_PATHS 설정에 포함되어 있다고 가정합니다.
-
스트림에서 수신한 패킷을 PCAP 파일로 저장
logger window=5m localhost\pcap_stream | pcapdecode | outputpcap /opt/logpresso/files/capture.pcappcap_stream로그 수집기에서 발생하는 스트림을 5분간 모니터링하면서 모든 패킷을 PCAP 파일로 저장합니다. -
특정 포트의 패킷만 필터링하여 저장
logger window=5m localhost\pcap_stream | pcapdecode | search src_port == 80 or dst_port == 80 | outputpcap /opt/logpresso/files/http.pcap출발지 또는 목적지 포트가 80인 패킷만 필터링하여 PCAP 파일로 저장합니다.
호환성
outputpcap 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.