파서 테스트
지정한 파서로 입력 문자열을 파싱한 결과를 반환합니다. 파서 설정은 파서 조회 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 | 문자열 | 파서 식별자 |
요청 본문 매개변수
| 키 | 필수 | 타입 | 설명 | 비고 |
|---|---|---|---|---|
| line | O | 문자열 | 파싱 대상 문자열 |
정상 응답
아래는 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"
}