本日主題:常見網路協定與它們的埠號 預計時間:1.5 小時 對應主教材:第 2.3 節
一、今日學習目標
- [ ] 理解「埠號」是什麼
- [ ] 認得常見協定的用途
- [ ] 背熟高頻考的埠號
- [ ] 理解埠號的分類與安全意義
二、教材內容
2.1 埠號(Port)是什麼?
如果說 IP 是「大樓地址」,那 埠號就是「幾號房」。一台伺服器(一個 IP)可以同時提供很多服務(網頁、Email、檔案),靠埠號區分要找哪個服務。
192.168.1.10 : 443
IP(大樓) 埠(房間=HTTPS 網頁服務)
┌──────────────────────────────────────────────────┐
│ 埠號的比喻:一棟大樓 │
├──────────────────────────────────────────────────┤
│ │
│ IP = 大樓地址:192.168.1.10 │
│ ┌─────────────────────────────┐ │
│ │ 房間 22 → SSH 遠端登入 │ │
│ │ 房間 80 → HTTP 網頁 │ │
│ │ 房間 443 → HTTPS 安全網頁 │ │
│ │ 房間 3389 → RDP 遠端桌面 │ │
│ │ 房間 53 → DNS 名稱解析 │ │
│ └─────────────────────────────┘ │
│ │
│ 不同服務住在不同房間,互不干擾 │
│ │
└──────────────────────────────────────────────────┘
埠號的三個範圍
| 範圍 | 名稱 | 說明 |
|---|---|---|
| 0 ~ 1023 | 知名埠號(Well-known Ports) | 給標準服務用,由 IANA 分配 |
| 1024 ~ 49151 | 註冊埠號(Registered Ports) | 給特定應用程式註冊使用 |
| 49152 ~ 65535 | 動態/私有埠號(Dynamic Ports) | 客戶端連線時隨機使用 |
💡 當你的電腦連到網站時,伺服器端用的是 443(知名埠號),而你的電腦用的是一個隨機的高埠號(如 52000),這個高埠號就是動態埠號。
2.2 常見協定與埠號(高頻考)
| 協定 | 用途 | 埠號 | TCP/UDP | 記憶提示 |
|---|---|---|---|---|
| HTTP | 網頁(不加密) | 80 | TCP | 最基本的網頁 |
| HTTPS | 網頁(加密) | 443 | TCP | HTTP + SSL/TLS |
| DNS | 網域名稱解析 | 53 | UDP/TCP | 「我53(吾三)」 |
| DHCP | 自動分配 IP | 67 / 68 | UDP | 67=伺服器、68=客戶端 |
| SSH | 遠端登入(加密) | 22 | TCP | 管 Linux 必用 |
| Telnet | 遠端登入(不加密) | 23 | TCP | 已被 SSH 取代 |
| FTP | 檔案傳輸 | 20 / 21 | TCP | 20=資料、21=控制 |
| SFTP | 安全檔案傳輸 | 22 | TCP | 走 SSH 通道 |
| SMTP | 寄信 | 25 | TCP | 「SMTP 25 寄出去」 |
| IMAP | 收信(同步) | 143 | TCP | 信留在伺服器 |
| POP3 | 收信(下載) | 110 | TCP | 信下載到本機 |
| RDP | 遠端桌面 | 3389 | TCP | Windows 遠端桌面 |
| SNMP | 網路設備監控 | 161 / 162 | UDP | 管理交換器/路由器 |
| LDAP | 目錄服務查詢 | 389 | TCP | AD 會用到 |
| LDAPS | 安全目錄服務 | 636 | TCP | LDAP + SSL |
| NTP | 時間同步 | 123 | UDP | 校時用 |
| SMB/CIFS | 檔案共享 | 445 | TCP | Windows 檔案共享 |
最該背的 5 個:80(HTTP)、443(HTTPS)、53(DNS)、22(SSH)、3389(RDP)。
進階背誦的 5 個(加分):25(SMTP)、21(FTP)、67/68(DHCP)、445(SMB)、389(LDAP)
2.3 協定在做什麼(用白話理解)
HTTP / HTTPS
你的瀏覽器 ──HTTP/HTTPS──▶ 網頁伺服器
HTTP = 明信片(內容別人看得到) → 埠 80
HTTPS = 密封信(內容加密了) → 埠 443
- 你打開網頁用的。HTTPS 多了加密(網址有鎖頭),現在幾乎都用 HTTPS。
- 實務:公司內部可能有些老系統還在用 HTTP,IT 需要逐步升級成 HTTPS。
DNS
你輸入 www.google.com
│
▼
DNS 伺服器查表:www.google.com = 142.250.80.46
│
▼
瀏覽器用 142.250.80.46 連到 Google
- 把
www.google.com翻成 IP。沒有它你只能背 IP 上網。 - 面試重點:DNS 用 UDP 53(查詢快、資料量小);但 DNS 區域轉送(Zone Transfer)用 TCP 53。
DHCP
新電腦開機連上網路
│
├─→ Discover: 「誰是 DHCP?給我 IP!」 (廣播)
│
├─← Offer: 「我是 DHCP,給你 192.168.1.50」
│
├─→ Request: 「好,我要這個 IP」
│
└─← Acknowledge: 「確認,IP 是你的了」
口訣:DORA(Discover → Offer → Request → Acknowledge)
- 設備一連網就自動拿到 IP、遮罩、閘道、DNS。
- 67 是伺服器端、68 是客戶端。
SSH
- 用加密方式遠端登入伺服器下指令(管 Linux 必用)。
- 取代了不安全的 Telnet(23),Telnet 的內容是明文傳輸(連密碼都看得到!)。
- 實務:
ssh username@192.168.1.100就能連到遠端 Linux 伺服器。
RDP
- Windows 的遠端桌面,連到別台電腦的畫面操作。
- 實務:IT 工程師常用 RDP 遠端管理 Windows Server。
- 資安:RDP 是駭客常攻擊的目標,應該用 VPN 包起來而不是直接開放。
SMTP / IMAP / POP3
寄信流程:
你 ──SMTP (25)──▶ 你的郵件伺服器 ──SMTP──▶ 對方郵件伺服器
收信流程:
對方郵件伺服器 ──IMAP(143)/POP3(110)──▶ 你的 Outlook/手機
IMAP vs POP3:
IMAP = 信留在伺服器,多裝置同步(推薦)
POP3 = 信下載到本機,伺服器上的信會被刪除
2.4 協定安全性對照
┌─────────────────────────────────────────────────┐
│ 不安全 → 安全 的協定對照 │
├───────────────┬─────────────────────────────────┤
│ 不安全 │ 安全替代 │
├───────────────┼─────────────────────────────────┤
│ HTTP (80) │ HTTPS (443) ← 加了 SSL/TLS │
│ Telnet (23) │ SSH (22) ← 加密傳輸 │
│ FTP (21) │ SFTP (22) 或 FTPS (990) │
│ LDAP (389) │ LDAPS (636) │
│ SMTP (25) │ SMTPS (465/587) │
│ IMAP (143) │ IMAPS (993) │
│ POP3 (110) │ POP3S (995) │
└───────────────┴─────────────────────────────────┘
面試加分:能說出「不安全的協定 → 安全替代」代表你有資安意識
⚠️ 常見誤解
- 誤解 1:「HTTP 就夠了,不需要 HTTPS」→ 現在連 Google 搜尋都用 HTTPS 了。HTTP 的封包可以被中間人輕鬆攔截和竄改。
- 誤解 2:「SSH 和 SFTP 是不同的埠」→ SFTP 走的是 SSH 通道,所以都是埠 22。FTP(21)和 SFTP(22)才是不同的。
- 誤解 3:「埠號是固定的,不能改」→ 埠號可以改。實務上常把 SSH 改成非標準埠(如 2222)來降低被攻擊的風險,但這是安全措施,不是標準。
💡 面試加分小知識
- 防火牆規則跟埠號直接相關。面試官可能問:「你會開放哪些埠號?」答案是只開放必要的(如 80、443),其他全擋。這叫做「最小權限原則」。
- netstat -an 指令可以看本機正在監聽哪些埠號,是故障排除的好工具。
- DHCP 使用 UDP 而不是 TCP,因為新設備還沒有 IP 位址,無法建立 TCP 連線(需要 IP 才能做三向交握)。
三、今日練習
Q1. HTTP、HTTPS、DNS、SSH、RDP 的埠號分別是?
Q2. 埠號的作用是什麼?用一個比喻說明。
Q3. 你要遠端登入一台 Linux 伺服器下指令,會用什麼協定、哪個埠?
Q4. 為什麼 DHCP 用 UDP 而不是 TCP?
Q5. 以下情境各用什麼協定和埠號? - (a) 瀏覽公司內部網站(有 SSL 憑證) - (b) 遠端連到 Windows Server 的桌面 - (c) 把檔案安全地傳到 Linux 伺服器 - (d) 查詢 www.tameco.com.tw 的 IP
Q6. 防火牆管理員要你列出一台 Web + Mail Server 需要開放的埠號,你會說哪些?
參考解答
**A1.** 80 / 443 / 53 / 22 / 3389。 **詳細說明**: - HTTP = 80(不加密的網頁) - HTTPS = 443(加密的網頁,現在是主流) - DNS = 53(網域名稱解析) - SSH = 22(加密的遠端登入) - RDP = 3389(Windows 遠端桌面) **A2.** 埠號區分同一台機器上的不同服務,就像大樓(IP)裡的不同房間號碼。 **詳細說明**:一台伺服器可以同時提供網頁服務(443)、遠端登入(22)、DNS 服務(53)。當封包到達這台伺服器時,作業系統根據目的埠號把封包交給對應的服務程式處理。如果沒有埠號,伺服器就不知道這個封包是要給網頁程式還是 SSH 程式。 **A3.** 用 SSH,埠號 22。 **詳細說明**:SSH(Secure Shell)是目前管理 Linux 伺服器的標準方式。在終端機輸入 `ssh username@伺服器IP` 就能連上。SSH 的所有傳輸都是加密的,包括密碼和指令內容。過去用的 Telnet(埠 23)因為是明文傳輸,已經被淘汰。 **A4.** 因為 DHCP 的目的是讓沒有 IP 的設備取得 IP 位址。而 TCP 需要先建立連線(三向交握),建立連線需要雙方都有 IP 位址。設備在還沒拿到 IP 之前,無法使用 TCP。所以 DHCP 使用 UDP,用廣播方式(255.255.255.255)向整個網段呼叫「有 DHCP 伺服器嗎?」。 **A5.** - (a) HTTPS,埠 443。有 SSL 憑證 = HTTPS。 - (b) RDP,埠 3389。Windows 遠端桌面標準埠。 - (c) SFTP,埠 22。安全檔案傳輸走 SSH 通道。(也可以用 SCP,同樣走 SSH 22) - (d) DNS,埠 53。網域名稱解析。 **A6.** Web + Mail Server 需要開放的埠號: - **Web**:80(HTTP)、443(HTTPS) - **Mail 收信**:993(IMAPS)或 995(POP3S) - **Mail 寄信**:25(SMTP,對其他郵件伺服器)、587(SMTPS,對使用者) - 如果需要安全管理:22(SSH) 不建議開放不加密的 143(IMAP)和 110(POP3),因為密碼會以明文傳輸。這體現了「優先使用加密協定」的資安原則。四、今日檢核
- [ ] 我能說出埠號的用途
- [ ] 我背熟了 5 個高頻埠號
- [ ] 我能說出每個常見協定在做什麼
- [ ] 我知道不安全協定 vs 安全協定的對照
- [ ] 我能根據情境選擇正確的協定和埠號
五、延伸閱讀建議
| 資源 | 說明 |
|---|---|
| YouTube: NetworkChuck「Ports Explained」 | 用動畫清楚解說埠號概念(英文有字幕) |
| YouTube: Professor Messer「Network Ports」 | CompTIA Network+ 的埠號教學,非常詳細 |
| IANA Port Numbers | 官方埠號註冊清單 |
| YouTube: Sunny Classroom 網路協定 | 中文講解常見協定 |
| nmap.org | 了解埠號掃描工具(進階) |
⬅️ 上一天:Day 4 | 🏠 本週總覽 | ➡️ 下一天:Day 6 — 實作:畫出網路架構草圖