네트워크

포트 번호 일람

FTP・SSH・HTTP・HTTPS・MySQL・Redis 등 자주 쓰이는 TCP/UDP 포트 번호와 용도를 정리한 목록입니다. 방화벽 규칙 설정과 "연결 거부(Connection refused)" 문제 해결에 유용한 개발자용 레퍼런스이며, 실시간 검색 필터를 제공합니다.

잘 알려진 포트 0–1023 등록된 포트 1024–49151 동적・사설 포트 49152–65535
포트 번호 일람표
포트 번호 프로토콜 TCP/UDP 범위 구분 용도
20 FTP (Data) TCP 잘 알려진 포트 FTP의 데이터 전송(액티브 모드)에 사용된다. 현재는 SFTP・FTPS로 대체되는 추세다.
21 FTP (Control) TCP 잘 알려진 포트 FTP의 제어 연결에 사용되며, 명령과 응답을 주고받는다.
22 SSH TCP 잘 알려진 포트 SSH를 통한 암호화된 원격 로그인, 그리고 SCP/SFTP를 통한 파일 전송에 사용된다.
23 Telnet TCP 잘 알려진 포트 Telnet을 통한 평문 원격 로그인에 사용된다. 도청 위험이 있어 SSH로 대체할 것을 권장한다.
25 SMTP TCP 잘 알려진 포트 SMTP를 통한 메일 서버 간 메일 전달(릴레이)에 사용된다.
53 DNS TCP/UDP 잘 알려진 포트 DNS 이름 해석에 사용된다. 일반적인 조회는 UDP를, 존 전송이나 큰 응답은 TCP를 사용한다.
67 DHCP (Server) UDP 잘 알려진 포트 DHCP 서버가 클라이언트에 IP 주소를 배포할 때 사용된다.
68 DHCP (Client) UDP 잘 알려진 포트 DHCP 클라이언트가 IP 주소 할당을 요청할 때 사용된다.
69 TFTP UDP 잘 알려진 포트 TFTP를 통한 인증 없는 간단한 파일 전송에 사용되며, 주로 네트워크 장비의 펌웨어 업데이트 등에 쓰인다.
80 HTTP TCP 잘 알려진 포트 HTTP를 통한 암호화되지 않은 웹 페이지 전송에 사용된다.
110 POP3 TCP 잘 알려진 포트 메일 클라이언트가 POP3를 통해 메일을 수신(다운로드)할 때 사용된다.
123 NTP UDP 잘 알려진 포트 NTP를 통한 컴퓨터 간 시간 동기화에 사용된다.
143 IMAP TCP 잘 알려진 포트 IMAP을 통해 메일 서버에서 메일을 관리하고 여러 기기 간 동기화하는 데 사용된다.
161 SNMP UDP 잘 알려진 포트 SNMP를 통한 네트워크 장비의 모니터링・상태 조회에 사용된다.
162 SNMP Trap UDP 잘 알려진 포트 SNMP 트랩 수신에 사용되며, 장비가 능동적으로 보내는 알림을 받는다.
194 IRC TCP 잘 알려진 포트 IRC를 통한 실시간 채팅에 사용된다.
389 LDAP TCP 잘 알려진 포트 LDAP을 통한 디렉터리 서비스(사용자・조직 정보) 조회에 사용된다.
443 HTTPS TCP 잘 알려진 포트 HTTPS(TLS로 암호화된 HTTP)를 통한 안전한 웹 페이지 전송에 사용된다.
445 SMB TCP 잘 알려진 포트 SMB를 통한 Windows 파일 공유・프린터 공유에 사용된다.
465 SMTPS TCP 잘 알려진 포트 SMTPS(TLS 기반 SMTP)를 통한 암호화된 메일 발송에 사용된다.
587 SMTP Submission TCP 잘 알려진 포트 메일 클라이언트가 메일 서버로 발신 메일을 제출(submission)할 때 사용하는 표준 포트.
636 LDAPS TCP 잘 알려진 포트 LDAPS(TLS 기반 LDAP)를 통한 암호화된 디렉터리 서비스 통신에 사용된다.
993 IMAPS TCP 잘 알려진 포트 IMAPS(TLS 기반 IMAP)를 통한 암호화된 메일 동기화에 사용된다.
995 POP3S TCP 잘 알려진 포트 POP3S(TLS 기반 POP3)를 통한 암호화된 메일 수신에 사용된다.
1433 MSSQL TCP 등록된 포트 Microsoft SQL Server 데이터베이스 연결에 사용된다.
3306 MySQL TCP 등록된 포트 MySQL・MariaDB 데이터베이스 연결에 사용된다.
3389 RDP TCP 등록된 포트 RDP를 통한 Windows 원격 데스크톱 연결에 사용된다.
5432 PostgreSQL TCP 등록된 포트 PostgreSQL 데이터베이스 연결에 사용된다.
5900 VNC TCP 등록된 포트 VNC를 통한 원격 데스크톱 화면 공유에 사용된다.
6379 Redis TCP 등록된 포트 Redis 인메모리 데이터 저장소 연결에 사용된다.
8080 HTTP (Alt) TCP 등록된 포트 HTTP의 대체 포트로, 프록시 서버나 개발용 웹 서버에서 자주 사용된다.
8443 HTTPS (Alt) TCP 등록된 포트 HTTPS의 대체 포트로, Tomcat 등 애플리케이션 서버에서 자주 사용된다.
9200 Elasticsearch TCP 등록된 포트 Elasticsearch REST API 연결에 사용된다.
27017 MongoDB TCP 등록된 포트 MongoDB 데이터베이스 연결에 사용된다.

  • 방화벽 규칙을 작성할 때는 실제로 필요한 포트만 열고 나머지는 기본적으로 차단(default deny)하는 것이 수십 년간 변하지 않은 보안의 기본 원칙입니다.
  • "연결 거부(Connection refused)" 오류가 발생하면 먼저 netstat -an이나 ss -tlnp 등으로 해당 포트에서 서비스가 실제로 대기 중인지 확인하세요.
  • 80번・443번 같은 "잘 알려진 포트"(0~1023)는 대부분의 운영체제에서 바인딩하려면 관리자 권한이 필요하기 때문에, 일반 권한 애플리케이션은 8080번 같은 대체 포트를 사용하는 경우가 많습니다.
  • 같은 서비스라도 평문 버전(예: 80/HTTP, 21/FTP)과 암호화 버전(예: 443/HTTPS, 990/FTPS)은 포트 번호가 다른 경우가 많으니 혼동하지 않도록 주의하세요.
  • 이 목록의 포트 번호는 AWS・GCP・Azure 등 클라우드 환경의 보안 그룹 설정에도 그대로 적용할 수 있습니다.

자주 묻는 질문

IP 주소는 통신 상대인 "건물(컴퓨터)"을 식별하는 주소이고, 포트 번호는 그 건물 안의 "방 번호(애플리케이션・서비스)"를 식별하는 번호입니다. 같은 서버라도 80번은 웹 서버, 22번은 SSH 서버로 연결되는 것처럼, 포트 번호에 따라 통신이 전달될 서비스가 구분됩니다.

TCP는 전송 확인과 재전송을 수행하는 신뢰성 중심의 프로토콜로 웹 페이지 표시나 파일 전송에 사용됩니다. UDP는 확인 응답을 생략한 경량 프로토콜로, DNS 조회・온라인 게임・동영상 스트리밍처럼 속도가 우선시되는 용도에 사용됩니다.

먼저 해당 포트에서 서비스(프로세스)가 실제로 실행 중인지 확인하세요. 실행 중이라면 다음으로 방화벽(iptablesufw・보안 그룹 등)이 그 포트로의 통신을 차단하고 있지 않은지 확인합니다.

신규 사이트는 기본적으로 443번(HTTPS)만으로 운영해야 합니다. 80번(HTTP)은 443번으로의 리다이렉트 전용으로만 남겨두는 것이 현재의 모범 사례로 여겨집니다.

1024~49151번의 "등록된 포트" 범위, 특히 다른 흔한 서비스와 충돌하지 않는 번호(예: 8080번이나 3000번대)를 사용하는 것이 일반적입니다. 0~1023번의 "잘 알려진 포트"는 기존 표준 서비스용으로 예약되어 있으므로 피해야 합니다.
ツールくん

여담이지만 ― 포트 번호가 65535까지밖에 없는 이유

포트 번호가 0~65535 범위에 그치는 이유는 TCP/UDP 헤더에서 포트 번호 필드가 16비트(2바이트)로 정의되어 있기 때문입니다. 2의 16제곱은 65536이며, 0번을 제외한 1~65535가 실제로 사용 가능한 범위가 됩니다. 이 설계는 1980년대 초 TCP/IP가 표준화될 때 정해진 것으로, 지금까지 변경된 적이 없습니다.

IANA(국제 인터넷 주소 관리기구)는 모든 포트를 세 가지 범위로 나누어 관리합니다. 0~1023번의 "잘 알려진 포트(Well-known Ports)"는 HTTP・SSH처럼 널리 쓰이는 서비스 전용으로 예약되어 있고, 1024~49151번의 "등록된 포트(Registered Ports)"는 기업이나 프로젝트가 신청해 등록할 수 있는 범위이며, 49152~65535번의 "동적・사설 포트"는 클라이언트가 임시 발신 포트로 자유롭게 사용하는 범위입니다.

80번(HTTP)이나 443번(HTTPS)처럼 널리 알려진 포트도 처음부터 지금의 용도로 정해져 있던 것은 아닙니다. 443번이 HTTPS용으로 할당된 것은 1994년, Netscape사가 SSL(Secure Sockets Layer)을 개발하면서 IANA에 신청한 것이 계기였습니다.

포트 스캔을 통한 부정 접근을 막기 위해, 실제 운영 서버에서는 SSH의 기본 포트(22번)를 다른 번호로 변경하는 "포트 노킹" 같은 기법을 쓰기도 합니다. 다만 이는 "보안을 통한 은폐(security by obscurity)"에 불과하며, 강력한 인증이나 최신 패치 적용 같은 근본적인 대책을 대신할 수는 없다는 점에 주의해야 합니다.

→ 모든 여담 보기