파서 테스트

지정한 파서로 입력 문자열을 파싱한 결과를 반환합니다. 파서 설정은 파서 조회 API로 확인할 수 있습니다.

필요 권한

게스트 이상의 계정으로 이용할 수 있습니다.

HTTP 요청

POST /api/sonar/parsers/:code/test
cURL 예시
curl -H "Authorization: Bearer <API_KEY>" \
     -d 'line=<36>[SNIPER-2000] [Attack_Name=(0023)UDP Check Sum Error], [Time=2013/05/14 14:32:05], [Hacker=192.0.2.133], [Victim=192.0.2.10], [Protocol=udp/514], [Risk=Medium], [Handling=Alarm], [Information=], [SrcPort=514]' \
     -X POST \
     https://HOSTNAME/api/sonar/parsers/sniper/test
요청 매개변수
경로 매개변수
타입설명비고
code문자열파서 식별자
요청 본문 매개변수
필수타입설명비고
lineO문자열파싱 대상 문자열

정상 응답

아래는 cURL 예시의 스나이퍼 IPS 로그를 파싱한 결과입니다. 반환되는 필드와 값의 구성은 파서 설정에 따라 다릅니다.

{
  "rows": [
    {
      "time": "2013-05-14 14:32:05+0900",
      "risk": "MEDIUM",
      "host_name": "SNIPER-2000",
      "src_ip": "192.0.2.133",
      "src_port": 514,
      "dst_ip": "192.0.2.10",
      "dst_port": 514,
      "protocol": "UDP",
      "hack_code": "0023",
      "signature": "(0023)UDP Check Sum Error",
      "action": "DETECT"
    }
  ]
}
  • rows (배열): 파싱 결과 레코드 목록. 각 레코드의 필드 구성은 파서 설정에 따라 다릅니다.
Note
파싱에 실패한 경우 원본 데이터를 line 필드에 담은 레코드가 반환됩니다.

오류 응답

line이 누락된 경우

HTTP 상태 코드 400 응답

{
  "error_code": "null-argument",
  "error_msg": "line should be not null"
}
파서가 존재하지 않는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "parser profile not found: unknown"
}
파서 유형이 존재하지 않는 경우

HTTP 상태 코드 500 응답

{
  "error_code": "illegal-state",
  "error_msg": "parser factory not found: unknown"
}