주요 포트 번호 정리

자주 쓰는 포트와 전송 프로토콜을 비교합니다. 번호만으로 실행 중인 프로그램이나 인터넷 공개의 안전성을 판단하지 마세요.

PPORT ·

빠른 사용법

  1. 서비스와 프로토콜을 구분하세요.
  2. 기본 포트와 실제 설정을 비교하세요.
  3. 필요한 접속 범위만 허용하세요.

자주 쓰이는 기본 포트 예시

포트프로토콜일반적인 용도
22TCPSSH
25 / 587TCPSMTP 전송 / 메일 제출
53UDP와 TCPDNS
80 / 443TCPHTTP / HTTPS
443UDPHTTP/3의 QUIC 전송
123UDPNTP
3389TCP와 UDP원격 데스크톱에서 사용 가능
8080TCP대체 HTTP 포트로 자주 사용

번호만으로 서비스가 정해지지 않습니다

프로그램은 설정에 따라 다른 포트에서 실행될 수 있습니다. 443이 열렸다고 반드시 HTTPS가 정상이라는 뜻은 아닙니다. 결과의 일반적 용도는 서비스 식별 결과가 아닙니다.

포트 범위와 운영 설정

IANA는 0~1023, 1024~49151, 49152~65535 범위를 용도별로 구분합니다. 이 사이트는 TCP 1~65535의 단일 포트 확인을 지원합니다.

내부에서 대기하는 포트와 공유기가 공개하는 외부 포트가 다를 수 있습니다. 확인할 때는 인터넷 쪽 외부 포트를 입력합니다.

인터넷에 직접 열기 전에 확인할 포트

아래 포트는 인터넷에서 접속 시도가 특히 많습니다. 외부에 꼭 열어야 하는지 먼저 판단하고, 열어야 한다면 접속을 허용할 출발지 IP를 좁히세요.

포트서비스권장
22SSH비밀번호 로그인을 끄고 키 인증을 쓰며, 가능하면 접속 허용 IP를 제한합니다.
3389원격 데스크톱(RDP)인터넷에 직접 열지 말고 VPN이나 게이트웨이를 거쳐 접속합니다.
445SMB 파일 공유인터넷에 열지 않습니다. 이 포트를 차단하는 통신사도 많습니다.
3306 / 5432MySQL / PostgreSQLDB는 127.0.0.1이나 내부망에서만 수신하고 앱 서버만 접속하게 합니다.
6379 / 27017Redis / MongoDB인증 없이 열린 채 노출되는 사고가 잦습니다. 내부망에만 둡니다.
5000 / 5001Synology DSM 관리 화면 (HTTP / HTTPS 기본값)관리 화면을 직접 열기보다 VPN이나 제조사의 원격 접속 기능을 먼저 검토합니다.

내 서버에서 어떤 프로그램이 쓰는지 확인하기

포트 번호의 일반적인 용도보다 실제로 그 포트에서 대기 중인 프로세스를 확인하는 것이 정확합니다.

명령어 · Windows · Linux · macOS
PS> Get-NetTCPConnection -State Listen -LocalPort 3389
$ sudo ss -ltnp 'sport = :22'
$ sudo lsof -nP -iTCP:5432 -sTCP:LISTEN
$ getent services 5432

getent services는 /etc/services에 등록된 관례상의 이름만 보여 줍니다. 실제 프로세스는 위의 세 명령으로 확인하세요.

UDP 서비스는 TCP 검사로 확인되지 않습니다

DNS(53), HTTP/3(443/UDP), WireGuard(흔히 쓰는 기본값 51820), Minecraft 베드락 에디션(19132) 같은 UDP 서비스는 TCP 연결 시도로 상태를 알 수 없습니다. UDP에는 연결 절차가 없어 응답이 없다고 닫혔다고 단정할 수도 없습니다. PPORT의 포트 확인은 TCP만 검사하므로, UDP 서비스는 실제 클라이언트로 접속해 보거나 서버 쪽 수신 기록으로 확인하세요.

공식 참고 자료

이 글과 함께 쓰는 도구