matchport()
matchport() 함수는 지정한 포트 그룹에 특정 포트 번호 및 프로토콜 조합이 포함되어 있는지 확인합니다.
문법
matchport(STR_GUID, PORT_EXPR[, PROTO_EXPR])
매개변수
STR_GUID- 포트 그룹 GUID입니다. 유효한 포트 그룹 식별자여야 합니다. 존재하지 않는 GUID를 지정하면 쿼리 파싱 단계에서 오류가 발생합니다.
PORT_EXPR- 포트 번호 표현식입니다. 평가 값은 숫자 타입이어야 합니다. 숫자 타입이 아니면
false를 반환합니다. PROTO_EXPR- (선택) 프로토콜 표현식입니다.
TCP또는UDP문자열만 허용됩니다. 이 매개변수를 생략하거나null이면 포트 그룹에 TCP 또는 UDP 중 하나라도 해당 포트가 포함되어 있으면true를 반환합니다. 허용되지 않는 값이거나ICMP이면false를 반환합니다.
설명
matchport() 함수는 지정한 포트 그룹에 PORT_EXPR 및 PROTO_EXPR로 지정한 포트와 프로토콜 조합이 포함되어 있으면 true, 없으면 false를 반환합니다.
PORT_EXPR 값이 숫자 타입이 아니면 false를 반환합니다. PROTO_EXPR를 지정하지 않거나 null인 경우에는 프로토콜 구분 없이 포트 번호만으로 검색합니다. PROTO_EXPR 값이 ICMP이거나 인식할 수 없는 문자열이면 false를 반환합니다.
포트 그룹은 소나 웹 콘솔의 정책 > 포트 그룹 메뉴에서 관리합니다.
오류 코드
해당 사항 없음
사용 예
-
dst_port필드 값이 지정한 포트 그룹에 포함되어 있는지 확인합니다.json "{'dst_port': 443}" | eval result = matchport("550e8400-e29b-41d4-a716-446655440000", dst_port) | # result: false -
TCP 프로토콜을 지정하여 확인합니다.
json "{'dst_port': 443, 'protocol': 'TCP'}" | eval result = matchport("550e8400-e29b-41d4-a716-446655440000", dst_port, protocol) | # result: false -
PROTO_EXPR값이null인 경우 (TCP 또는 UDP에 해당 포트가 포함되면 true 반환)json "{'dst_port': 443}" | eval result = matchport("550e8400-e29b-41d4-a716-446655440000", dst_port, null) | # result: false
호환성
matchport() 함수는 소나 4.0 이전 버전부터 제공되었습니다.