본문으로 건너뛰기
AZ Tools

포트 번호 참조

약 60개 표준 TCP / UDP 포트 번호 검색 가능한 치트시트 — 22(SSH)·80(HTTP)·6379(Redis)·27017(MongoDB) 등.

포트프로토서비스설명
20tcpFTP-DATA파일 전송 프로토콜(FTP) — 데이터 채널.
21tcpFTP파일 전송 프로토콜(FTP) — 제어 채널.
22tcpSSH보안 셸(Secure Shell). SFTP와 SCP도 이 포트를 씁니다.
23tcpTelnet암호화되지 않은 원격 셸. 공개 인터넷에서는 피하세요.
25tcpSMTPSMTP — 메일 서버 간 전송.
53bothDNS도메인 이름 조회(DNS). 일반 질의는 UDP, 영역 전송과 큰 응답은 TCP.
67udpDHCP 서버동적 호스트 설정 프로토콜(DHCP) — 서버 쪽.
68udpDHCP 클라이언트DHCP — 클라이언트 쪽.
69udpTFTP간이 파일 전송 프로토콜(TFTP) — 네트워크 부팅·펌웨어 전송.
80tcpHTTP암호화되지 않은 HTTP. URL에 스킴이 없으면 브라우저가 이 포트를 기본으로 씁니다.
110tcpPOP3POP3 — 예전 방식의 메일 수신.
119tcpNNTP네트워크 뉴스 전송 프로토콜(NNTP) — 유즈넷.
123udpNTP네트워크 시간 동기화 프로토콜(NTP).
143tcpIMAPIMAP — 메일함 동기화.
161udpSNMP간이 네트워크 관리 프로토콜(SNMP) — 장비 모니터링.
162udpSNMP trapSNMP 비동기 알림(trap).
389tcpLDAP경량 디렉터리 접근 프로토콜(LDAP).
443tcpHTTPSTLS로 암호화한 HTTP. 현대 웹의 기본값.
445tcpSMBSMB — Windows 파일 공유.
465tcpSMTPS암묵적 TLS를 쓰는 SMTP. 메일 제출에 흔히 씁니다.
514udpsyslogUnix syslog 로그 전달.
587tcpSMTP 제출(submission)메일 클라이언트의 발송(STARTTLS 사용).
631tcpIPP / CUPS인터넷 인쇄 프로토콜(IPP), macOS·Linux 인쇄 서버.
636tcpLDAPSTLS로 암호화한 LDAP.
989tcpFTPS-dataFTPS 데이터 채널(암묵적 TLS).
990tcpFTPSFTPS 제어 채널(암묵적 TLS).
993tcpIMAPSTLS로 암호화한 IMAP.
995tcpPOP3STLS로 암호화한 POP3.
1080tcpSOCKSSOCKS 프록시.
1194udpOpenVPNOpenVPN 기본 포트.
1433tcpMSSQLMicrosoft SQL Server.
1521tcpOracleOracle Database 기본 리스너.
1701udpL2TPL2TP(2계층 터널링 프로토콜) — VPN.
1723tcpPPTPPPTP(지점 간 터널링 프로토콜) — 예전 방식의 VPN.
1883tcpMQTTMQTT — IoT 메시징.
2049tcpNFS네트워크 파일 시스템(NFS).
2375tcpDocker (암호화 없음)Docker 데몬 소켓 — 암호화 없음, 개발용으로만.
2376tcpDocker (TLS)Docker 데몬 소켓 — TLS 암호화.
3000tcp개발 서버관례적인 Node.js 개발 포트 — Next.js, Express 등.
3306tcpMySQLMySQL / MariaDB.
3389tcpRDPMicrosoft 원격 데스크톱 프로토콜(RDP).
3478bothSTUN / TURNWebRTC NAT 통과 — STUN / TURN 서버.
4444tcpSeleniumSelenium WebDriver 기본 허브.
5000tcpFlask / UPnPPython Flask 개발 서버 기본값, macOS에서는 UPnP.
5060bothSIP세션 개시 프로토콜(SIP) — VoIP 시그널링(암호화 없음).
5061tcpSIP-TLSTLS로 암호화한 SIP.
5432tcpPostgreSQLPostgreSQL 기본 리스너.
5900tcpVNCVNC 원격 화면 공유(Virtual Network Computing).
6379tcpRedisRedis 기본 포트.
6443tcpKubernetes APIKubernetes API 서버(HTTPS).
6667tcpIRCIRC 채팅(Internet Relay Chat).
8000tcp개발 서버흔히 쓰는 대체 HTTP 포트 — Python http.server, Django.
8080tcpHTTP-alt대체 HTTP 포트 — Tomcat, Jenkins, 프록시.
8443tcpHTTPS-alt대체 HTTPS 포트 — 관리 패널, 보조 웹 서버.
8888tcpHTTP-alt / Jupyter대체 HTTP 포트, Jupyter Notebook 기본값.
9000tcpPHP-FPMPHP FastCGI 프로세스 관리자(PHP-FPM).
9090tcpPrometheusPrometheus 메트릭 수집 서버.
9092tcpKafkaApache Kafka 브로커.
9200tcpElasticsearchElasticsearch REST API.
11211tcpmemcachedmemcached 기본 포트.
27017tcpMongoDBMongoDB 기본 포트.
49152both동적 / 사설IANA 동적 포트 범위(49152~65535)의 시작. Windows는 나가는 연결의 출발 포트를 이 범위에서 고릅니다.
51820udpWireGuardWireGuard VPN — 관례적인 수신 포트.
60001udpmosh모바일 셸(mosh) — mosh-server는 60000~61000 중 UDP 포트 하나를 쓰며 60001부터 시도합니다.

사용법

  1. 포트 번호(443)·서비스 이름(postgres)·키워드(mail) 입력.
  2. Well-known·registered·ephemeral 범위로 필터링.
  3. 복사 버튼으로 docker-compose 포트 매핑·방화벽 규칙용 포트 번호 가져오기.

자세한 설명

펼치기

방화벽 규칙, 컴포즈 파일, 패킷 캡처에서 마주치는 TCP·UDP 포트 번호를 검색할 수 있는 목록입니다. 각 항목에 프로토콜, 서비스 이름, 한 줄 설명이 붙어 있고, 1024 미만의 잘 알려진 범위와 그 위의 등록된 범위, 그리고 관례적으로 쓰는 개발·데이터베이스 포트를 아우릅니다. 1024라는 숫자는 임의로 그은 경계가 아닙니다. 유닉스 계열에서는 그 범위의 포트를 권한 있는 프로세스만 바인딩할 수 있는데, 개발 서버가 80이 아니라 3000이나 8080에서 도는 진짜 이유가 이것이고, 실제 서비스를 80으로 내보낼 때 대개 리버스 프록시나 부여받은 권한이 끼는 이유이기도 합니다. 그 위쪽은 강제가 아니라 관례일 뿐입니다. 어떤 서비스든 지정된 곳이면 어디서나 대기할 수 있습니다.

자주 묻는 질문

well-known·registered·ephemeral 의미?

IANA가 16비트 포트 공간을 세 범위로 분할: well-known(0~1023, 표준 서비스용 시스템 포트)·registered(1024~49151, 애플리케이션·벤더 할당)·ephemeral(49152~65535, 발신 연결용 동적/사설 포트). Unix에서 1024 미만 바인딩은 root 권한 필요.

일부 포트가 both인 이유?

DNS·SIP·STUN 등은 TCP·UDP 모두에 정의됨. both 표시는 양쪽 프로토콜에 등록되었다는 의미이지 동일 서비스가 둘을 동시에 써야 한다는 뜻은 아님.

실제 예약된 포트?

예 — IANA 할당(22·80·443·53 등) 또는 상위 프로젝트의 사실상 기본값(3306 MySQL·6379 Redis·27017 MongoDB). 물론 구현은 다른 포트로 리슨할 수 있음.

서비스를 흔치 않은 포트로 옮기면 더 안전해지나?

거의 아니다. 기본 포트만 찔러보는 무차별 스캐너의 소음이 줄어 로그는 조용해지지만, 전체 범위를 훑는 쪽은 몇 초 만에 서비스를 찾아내고 배너로 정체까지 파악한다. 포트 변경은 보안 통제가 아니라 로그 위생으로 취급하라. 실제로 서비스를 닫아두는 것은 인증과 키 기반 접근, 그리고 방화벽 규칙이다.

왜 내 앱은 권한 상승 없이 80번 포트를 못 여나?

유닉스 계열에서 1024 미만 포트는 역사적으로 특권 영역이기 때문이다. 그런 포트에 바인드하려면 루트가 필요한데, 잘 알려진 포트는 그 기계의 주인이 승인한 서비스를 뜻한다는 논리에서 나왔다. 요즘의 통상적인 해법은 높은 포트에 바인드하고 앞에 리버스 프록시를 두거나, 프로세스 전체를 루트로 돌리는 대신 낮은 포트 바인드만 허용하는 권한 하나를 부여하는 것이다.

관련 도구