포트 스캐닝 흐름 요약
표기 규칙
→: 시간 순서 흐름SYN+ACK: 대상(host)의 합쳐진 응답 플래그RST(+ACK): 구현에 따라 RST에 ACK가 붙는 경우가 많음을 의미No resp.: 대상이 아무 응답도 안 함UDP는 TCP 플래그(SYN/ACK/RST)가 없으므로, ICMP 또는 무응답으로 판별
1) 스캔별 흐름(오픈/클로즈드)
스캔 방식 포트 상태 흐름(스캐너 → 대상 → 스캐너 …) 판정 키워드 TCP OPEN (Connect) 열림 SYN → SYN+ACK → ACK (3-way 완료 후 애플리케이션 레벨 교환/종료) SYN+ACK닫힘 SYN → RST(+ACK) RSTTCP HALF-OPEN (SYN) 열림 SYN → SYN+ACK → RST (스캐너가 즉시 RST로 연결 미수립) SYN+ACK닫힘 SYN → RST(+ACK) RSTUDP Scan 열림 UDP Probe → No resp.* No resp.닫힘 UDP Probe → ICMP Port Unreachable(3/3) ICMP 3/3FIN Scan 열림 FIN → No resp. No resp.닫힘 FIN → RST(+ACK) RSTNULL Scan 열림 [빈 플래그] → No resp. No resp.닫힘 [빈 플래그] → RST(+ACK) RSTXMAS Scan 열림 [FIN+PSH+URG] → No resp. No resp.닫힘 [FIN+PSH+URG] → RST(+ACK) RST* 주의(UDP 열림): 보통 무응답이면 “열림(또는 필터됨)”으로 추정합니다. 서비스 구현에 따라 응답을 줄 수도 있습니다.
미니 해설
-
TCP OPEN/ HALF-OPEN: 열린 포트는 SYN/ACK 로 응답, 닫힌 포트는 RST/ACK 로 응답합니다.
-
FIN/NULL/XMAS: RFC 793 기반 구현에서 열린 포트는 무응답, 닫힌 포트는 RST(대개 RST/ACK) 로 응답합니다.
-
UDP: 상태 추론을 응답 유무/ICMP 오류로 합니다. 무응답이면 대개 열림(또는 필터됨)으로, ICMP Port Unreachable이면 닫힘으로 봅니다.