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_EXPRPROTO_EXPR로 지정한 포트와 프로토콜 조합이 포함되어 있으면 true, 없으면 false를 반환합니다.

PORT_EXPR 값이 숫자 타입이 아니면 false를 반환합니다. PROTO_EXPR를 지정하지 않거나 null인 경우에는 프로토콜 구분 없이 포트 번호만으로 검색합니다. PROTO_EXPR 값이 ICMP이거나 인식할 수 없는 문자열이면 false를 반환합니다.

포트 그룹은 소나 웹 콘솔의 정책 > 포트 그룹 메뉴에서 관리합니다.

오류 코드

해당 사항 없음

사용 예

  1. dst_port 필드 값이 지정한 포트 그룹에 포함되어 있는지 확인합니다.

    json "{'dst_port': 443}"
    | eval result = matchport("550e8400-e29b-41d4-a716-446655440000", dst_port)
    | # result: false
    
  2. TCP 프로토콜을 지정하여 확인합니다.

    json "{'dst_port': 443, 'protocol': 'TCP'}"
    | eval result = matchport("550e8400-e29b-41d4-a716-446655440000", dst_port, protocol)
    | # result: false
    
  3. 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 이전 버전부터 제공되었습니다.