본문 바로가기
CS/데이터통신 & 네트워크

[네트워크] 포트 스캐닝(Port Scanning) 개념과 스캔 방식 (TCP Connect, TCP SYN, UDP, FIN, ACK)

by IT장땡 2026. 5. 24.
반응형

 포트 스캐닝에 대한 개념과 그 종류를 알아봅니다.

 

[ Contents ]

     

     

    1. 포트 스캐닝(Port Scanning)

    시스템에 열려 있는 포트(서비스)를 탐지하는 기법

     

     대상 호스트에 포트 연결을 시도해서 어떤 포트가 열려 있고(서비스가 동작 중이고), 어떤 포트가 닫혀 있는지 확인하는 기법입니다. 네트워크 관리자가 자신의 시스템 보안을 점검하거나, 보안 감사에 이용됩니다.

     여기서 포트(port)는 항구처럼 서비스 동작을 위해 데이터가 오고가는 통로입니다. IP주소별로 TCP/UDP 기준 0~65535번까지 포트 번호가 있으며, 각 서비스별로 포트 번호를 지정해서 이용합니다.

     

     

    2. 포트스캐닝 주요 방식

    1) TCP Connect 스캔

     connect() 시스템 콜로 완전한 TCP 3-way 핸드셰이크를 수행하며, 연결 성립 여부로 포트 스캔

     

     connect()로 TCP 연결이 성립되면 포트가 열린 것이고, RST 응답이 오면 닫힌 걸로 판별합니다.

     

     

    2) TCP SYN 스캔 (Half-open 스캔)

    SYN 패킷만 보내고, SYN-ACK가 돌아오면 즉시 RST를 보내 연결을 완료하지 않음

     

     TCP Connect 스캔과 달리, 연결을 완료하지 않습니다. 완전한 연결을 맺지 않으므로 일부 로깅 시스템에는 기록되지 않을 수 있어 "스텔스 스캔"이라고도 부릅니다. 가장 널리 사용되는 방식이기도 합니다.

     

     

    3) FIN 스캔

    TCP 헤더에 FIN 플래그만 설정해서 전송

     

     포트가 열려 있으면 응답이 없고, 포트가 닫혀 있으면 RST 패킷을 응답합니다.

     

     

    4) XMAS 스캔

      TCP 헤더에 FIN + PSH + URG 플래그를 모두 설정해서 전송

     

     크리스마스 트리처럼 플래그가 모두 켜져있어서 XMAS라 불리며, 포트가 열려 있으면 응답이 없고 닫혀 있으면 RST를 응답합니다. 

     

     

    5) NULL 스캔

    TCP 헤더의 모든 플래그를 0으로 설정하여 전송 

     

     포트가 열려 있으면 응답이 없고, 포트가 닫혀 있으면 RST 패킷을 응답합니다.

     

     

    6) UDP 스캔

    UDP 패킷을 보내고, ICMP "Port Unreachable" 메시지가 돌아오면 닫힌 것, 응답이 없으면 열려 있거나 필터링된 것으로 판단

     

    반응형

     

     TCP Connect Scan은 완전한 연결을 완료하니 로그가 남으며, 나머지는 로그가 남지 않을 수 있습니다.

     UDP Scan을 제외하곤 포트가 닫혀 있을 시 RST 패킷을 응답합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글