C.W.K.
Stream
Lesson 03 of 12 · published

포트

~15 min · ports, tcp, udp, well-known

Level 0Pinger
0 XP0/101 lessons0/12 achievements
0/150 XP to next level150 XP to go0% complete

모든 IP 위에 붙은 호수

IP 가 건물 주소면 포트는 호수야. 한 머신이 같은 IP 에서 여러 네트워크 서비스를 동시에 굴릴 수 있게 해주는 게 포트야 — 80 에 웹 서버, 22 에 SSH, 5432 에 Postgres, 5173 에 dev server. 192.168.1.100:22 에 접속한다는 건 그 건물 22 호 두드린다는 뜻.

포트는 16 비트 부호 없는 정수 (0 – 65,535) 고 공식적으로 세 대역으로 나뉘어:

대역이름의미
0 – 1023Well-known / system흔한 서비스용. bind 하려면 root/admin 필요.
1024 – 49151RegisteredIANA 가 특정 앱한테 배정.
49152 – 65535Ephemeral클라이언트 연결마다 자동 할당.

매일 만지는 포트들

포트서비스메모
22SSH암호화된 원격 셸 — Track 2 부터 매 레슨
53DNSUDP (대부분), 이름 해석
80HTTP평문 웹 — public 인터넷에선 점점 사라지는 중
443HTTPSTLS 암호화 웹 — 이제 어디든 기본
3000Dev serverNode/React 흔한 기본
5173ViteVite dev server 기본
5432PostgreSQLDB
8000Dev serverFastAPI / Django 기본
8080Alt HTTP프록시용 흔한 대안

Ephemeral 포트, 짧게

브라우저가 example.com:443 에 연결하면 서버 쪽은 :443 인데 브라우저 쪽은 :52847 같은 임의 포트야. 그게 ephemeral 포트 — OS 가 49152–65535 대역에서 비어있는 거 골라서 연결 수명 동안 쓰고, 끝나면 풀어줘.

Code

내 머신의 포트 보기·bash
# macOS: what's running on port 8000?
lsof -i :8000

# All listening sockets with PIDs
lsof -i -P -n | grep LISTEN

# Linux equivalent
ss -tulnp

# Kill the process holding port 8000 (find PID, then nuke it)
lsof -ti :8000 | xargs kill -9

External links

Exercise

포트 8888 에 빠른 Python server 띄워: python3 -m http.server 8888. 다른 터미널에서 lsof -i :8888 돌려 PID 확인. lsof -ti :8888 | xargs kill -9 로 죽이는 거 — 나중에 어느 포트가 누구거인지 까먹었을 때 같은 패턴 써. lsof -i :8888 다시 돌려서 비었는지 확인.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.