포트 점검 도구
지정한 IP 또는 도메인의 포트가 열려 있는지 확인
최대 20개 포트 동시 검사
IP 주소와 포트 번호를 입력한 후 "검사 시작"을 클릭하세요
포트 검사란?
포트 검사는 서버의 특정 포트가 열려 있고 연결을 수락하는지 확인하는 네트워크 진단 도구입니다. 대상 호스트의 지정된 포트에 연결 요청을 보내 서비스가 실행 중이고 접근 가능한지 판단합니다. 포트 검사는 서버 관리, 네트워크 보안 감사, 서비스 가용성 모니터링에 일반적으로 사용됩니다. 검사 결과는 대상 서버뿐 아니라 방화벽, NAT, 클라우드 보안 그룹, 로컬 네트워크 정책의 영향을 받습니다. 포트가 닫혀 보인다면 서비스 상태와 접근 경로를 함께 확인해야 합니다.
사용 방법
사용 방법
- IP/도메인 필드에 대상 서버 주소를 입력하세요
- 확인할 포트 번호를 쉼표로 구분하여 입력하세요
- 또는 일반적인 포트 프리셋의 빠른 채우기 버튼을 사용하세요
- '포트 확인'을 클릭하고 결과가 나올 때까지 기다리세요
- 각 포트의 상태, 응답 시간, 오류 메시지를 확인하세요
네트워크 해석
- 닫힘 또는 필터링 결과는 방화벽, NAT, ISP 차단, 서비스 바인딩, 잘못된 호스트 주소 때문일 수 있습니다.
- 사용자가 사용할 네트워크 경로와 동일한 경로에서 확인하세요. 내부와 외부의 포트 가시성은 달라질 수 있습니다.
활용 사례
기술 원리
포트 검사는 대상 호스트의 지정된 포트에 TCP 연결을 수립하려고 시도한다. TCP 3-way 핸드셰이크(SYN, SYN-ACK, ACK)가 성공하면 포트가 열려 있고 서비스가 리스닝 중임을 의미한다. 연결이 거부되면(RST, 리셋) 포트는 닫혀 있다(서비스 없음). 응답이 없으면(타임아웃) 포트가 방화벽이나 NAT에 의해 필터링되거나 호스트가 다운된 것이다. 브라우저 기반 포트 검사기는 본질적 한계가 있다. 브라우저는 원시 TCP SYN 패킷을 보낼 수 없으므로 우회 방법을 사용한다. 일반적인 우회 방법: 1) 포트에 HTTP HEAD 또는 GET 요청을 보내 응답 코드를 확인(비표준 포트의 HTTP/HTTPS 프록시, 80, 8080 등에 유효); 2) 포트에 WebSocket 업그레이드를 시도하여 핸드셰이크 결과를 확인(대부분의 서버에서 유효, WebSocket은 HTTP로 시작하여 업그레이드); 3) 이미지 로딩 요청(브라우저가 http://host:port/에서 1x1 이미지를 가져오며 연결 성공 또는 실패); 4) 연결 없이 탐색(브라우저가 favicon, robots.txt,_known 경로를 가져와 응답으로 추론). 이 페이지는 주요 탐색 방식으로 WebSocket 접근을 사용한다: 1) ws://host:port/ 또는 wss://host:port/ 구성, 2) new WebSocket(url) 호출, 3) onopen(열림) 또는 onerror(닫힘/필터링)까지의 시간 측정. 1~3초 타임아웃으로 열림(즉시), 닫힘(빠른 거부), 필터링(타임아웃) 세 가지 상태를 구분한다. 페이지는 지연 시간과 함께 세 가지 상태를 모두 표시한다. 포트 범위: 0~1023은 잘 알려진 포트(HTTP 80, HTTPS 443, SSH 22, FTP 21, SMTP 25, DNS 53, POP3 110, IMAP 143 등), 1024~49151은 등록된 포트(데이터베이스, 사용자 정의 서비스 등 애플리케이션이 자주 사용), 49152~65535는 동적/사설 포트(운영체제가 아웃바운드 연결에 사용, 주로 소스 포트). 포트 0은 예약됨(0에 바인딩하면 운영체제가 임시 포트를 선택). 페이지는 단일 포트, 일반 포트 목록, 사용자 정의 범위를 선택할 수 있다. 주의 사항: 브라우저 기반 검사는 브라우저가 도달할 수 있는 것만 본다. 기업 프록시나 NAT 뒤에서 탐색하면 대상에서 실제로 열려 있는 포트도 필터링될 수 있다. 이 페이지는 의도적으로 보안 감사 도구가 아니며, nmap, masscan, ZMap 등 원시 소켓 접근이 가능한 호스트에서 실행하는 도구를 사용해야 한다.
- TCP 3-way 핸드셰이크: SYN, SYN-ACK, ACK = 열림; RST = 닫힘; 타임아웃 = 필터링 또는 호스트 다운. 이것이 표준 해석이다.
- 브라우저 우회 방법: HTTP HEAD/GET 탐색(비표준 포트), WebSocket 업그레이드(대부분의 서버), 이미지 가져오기, favicon/robots.txt. 이 페이지는 WebSocket을 주요 방식으로 사용.
- 포트 범위: 0~1023 잘 알려진 포트(HTTP 80, HTTPS 443, SSH 22), 1024~49151 등록된 포트, 49152~65535 동적 포트. 포트 0은 예약됨.
- 타임아웃으로 상태 구분: 즉시 = 열림, 빠른 거부 = 닫힘, 응답 없음 = 필터링. 이 페이지는 1~3초 타임아웃 사용.
- 브라우저 제한: 원시 SYN을 보낼 수 없어 완전한 TCP 스캔(SYN 스캔, FIN 스캔, NULL 스캔, XMAS 스캔) 불가. 이 페이지는 근사치.
- 보안 도구 아님: 침투 테스트에는 원시 소켓 접근이 가능한 호스트에서 nmap, masscan, ZMap을 사용. 이 페이지는 빠른 확인이지 보안 감사가 아님.
- 일반 포트: HTTP 80, HTTPS 443, SSH 22, FTP 21, SMTP 25, DNS 53, POP3 110, IMAP 143, MySQL 3306, PostgreSQL 5432, Redis 6379, MongoDB 27017.
예시
웹 서버 도달 가능성 확인
호스트: example.com
포트: 80 (HTTP), 443 (HTTPS)
결과: 둘 다 열림, 웹 서버 응답 중
용도: 공개 사이트가 인터넷에서 접근 가능한지 확인; 200/301 응답이면 스택이 정상SSH 접속 테스트
호스트: server.example.com
포트: 22 (SSH)
결과: 열림, SSH 서비스가 연결을 수락 중
용도: 키 기반 로그인 전 배스천 또는 점프 호스트의 도달 가능성 확인; SSH 클라이언트 측 자격 증명 검사와 병행데이터베이스 포트 노출 확인
호스트: db.example.com
포트: 3306 (MySQL)
결과: 닫힘, MySQL이 외부에 노출되지 않음
용도: 바람직한 보안 상태; 데이터베이스는 공개 인터넷이 아닌 애플리케이션 네트워크에서만 접근 가능해야 함자주 묻는 질문
포트 검사가 어떻게 동작하나요?
브라우저는 원격 호스트로 임의의 TCP 소켓을 열 수 없으므로, 이 도구는 백엔드에서 검사를 실행합니다. TCP 연결을 시도(또는 80/443 같은 응용 포트는 HTTP 프로브)하고 성공, 실패, 응답 시간을 보고합니다. 사용자 IP는 대상에 노출되지 않으며 저희 서버 IP가 보입니다.
‘open’, ‘closed’, ‘filtered’의 차이는 무엇인가요?
Open: 포트가 연결을 받아들입니다. Closed: 호스트가 TCP RST(거부)로 응답했습니다. Filtered: 응답이 없습니다(방화벽이 SYN을 폐기). ‘open’만이 서비스에 도달 가능함을 의미합니다. closed와 filtered는 모두 도달 불가이지만 이유가 다릅니다.
집 공유기의 포트도 검사할 수 있나요?
네 — 공인 IP와 포트 번호를 입력하세요. 호스팅 중인 게임 서버, NAS, 자체 호스팅 서비스가 실제로 인터넷에 노출되었는지 확인할 때 유용합니다. 가정용 ISP는 방화벽 설정과 무관하게 인바운드 포트(25, 80, 443)를 차단하는 경우가 많다는 점을 유의하세요.
UDP에도 사용할 수 있나요?
대부분의 빌드는 TCP만 지원합니다. UDP는 비연결성이라 응답이 없다고 해서 반드시 닫혀 있다는 뜻은 아닙니다. UDP 서비스 검사에는 응용 계층 프로브(예: 53/udp 포트에 DNS 쿼리)가 필요하며, 이는 nmap이 서비스 탐지 모드에서 하는 작업입니다.
로컬 LAN 포트(192.168.x.x)는 어떻게 하나요?
저희 백엔드는 사용자 사설 LAN에 도달할 수 없습니다. 네트워크 내부의 기기에서 명령줄로 `nc -zv host port`를 실행하거나, 같은 LAN의 다른 기기에서 포트 스캐너를 실행하세요.
어떤 호스트에든 사용해도 합법인가요?
포트 스캐닝은 본인 소유 호스트에 대해서는 일반적으로 합법입니다. 소유하지 않은 호스트를 스캔하면 관할 지역의 컴퓨터 오용 법률, 서비스 약관, ISP 정책에 위반될 수 있습니다. 임의의 IP를 무차별 스캔하는 용도로 사용하지 마세요.
왜 22번 / 3389번 / 25번 포트는 항상 closed로 표시되나요?
많은 ISP와 클라우드 제공업체가 공격 표적이 되기 쉬운 포트를 기본적으로 차단합니다. 클라우드 보안 그룹(AWS, Azure, GCP)도 기본적으로 차단합니다. 포트가 열려 있어야 한다고 생각된다면 방화벽, NAT/포트 포워딩, 모든 단계의 보안 그룹 규칙을 점검하세요.