CEH M03-01|IP、TCP、UDP、連接埠與服務:一個網路請求怎麼找到對方?
1|先記住這個結論
IP 位址協助把資料送往網路上的目的地;TCP 或 UDP 提供傳輸方式;連接埠協助把資料交給對應程式;服務則實際處理你的需求。
想像你到一棟辦公大樓洽公。地址幫你找到大樓,櫃檯分機幫你找承辦窗口,窗口使用的辦事流程決定如何收件與回覆,真正提供服務的是裡面的工作人員。
對照到網路:IP 像地址;連接埠像窗口號碼;TCP、UDP 像兩種收送方式;網頁、郵件與名稱查詢程式是不同服務。比喻幫助理解分工,實際運作還要看通訊協定、程式設定與路徑。
本課回答一個主要問題:「我按下開啟網頁之後,資料如何找到正確的主機與程式?」讀完後,你可以看懂一筆來源、目的、協定與連接埠紀錄,這也是後續主機探索和掃描結果判讀的基礎。全部例子使用文件示例位址,紙上演練即可。
2|IP:先找到網路上的位置
IP(Internet Protocol,網際網路協定)處理跨網路的定址與封包傳送。Packet(封包)可理解為有標頭與內容的一份傳輸資料;Header(標頭)攜帶處理它所需的資訊,Payload(負載)則是這一層承載的內容。
IP 標頭包含來源與目的位址。Router(路由器)依目的位址與路由表,決定封包的下一站。Routing(路由)就是選擇及使用這些轉送路徑。
IPv4 位址長 32 位元,常寫成 `192.0.2.10` 這種四段十進位數字;IPv6 位址長 128 位元,常寫成 `2001:db8::10` 這種冒號分隔的十六進位形式。IPv6 的定址與標頭由 RFC 8200 定義。RFC 8200:IPv6
Subnet(子網路)將位址分成共同前綴的範圍。例如 `192.0.2.0/24` 的 `/24` 表示前 24 個位元是網路前綴。主機依位址設定及路由決定直接送到同一網段的鄰居,或交給 Gateway(閘道)往其他網路傳送。
一台設備可以有多個網路介面與位址;同一個公開位址也可能代表代理、負載平衡器或多個共用出口的裝置。分析時把「觀察到的位址」「觀察時間」「網路位置」記在一起,再結合資產清單理解是哪個服務入口。
DNS(Domain Name System,網域名稱系統)協助把名稱查成位址等紀錄。例如瀏覽器先取得 `shop.example` 的位址,再依連線需求使用。名稱解析與後續資料傳輸是兩個可以分別查核的步驟,這接回 M02-04 的網域足跡。
IP 決定網路位址,TCP/UDP 定義傳輸方式,連接埠對應端點,服務提供應用功能。
整張圖依欄位寬度等比縮放,不裁切。小螢幕的圖中文字也會變小,可開啟原圖放大,或閱讀下方會自動換行的文字解說。
- 讀圖重點
- IP 決定網路位址,TCP/UDP 定義傳輸方式,連接埠對應端點,服務提供應用功能。
箭頭表示教學步驟順序;各步依其條件執行。
IP:送到哪個網路位址?
來源 IP 與目的 IP
如同大樓地址
TCP/UDP:怎麼傳資料?
位元組串流/資料報
各有對應的傳輸機制
Port:交給哪個端點?
協定+連接埠一起判讀
如同大樓內的服務窗口
Service:提供什麼功能?
實際程式處理應用請求
結合設定與回應辨識服務
分層理解後,再把它們串成一次通訊。
3|TCP:有連線狀態的有序位元組串流
TCP(Transmission Control Protocol,傳輸控制協定)提供可靠、有序的位元組串流。Stream(串流)是連續的位元組序列;應用程式自行決定哪幾個位元組構成一則訊息。
一般建立 TCP 連線時,會看到 Three-way Handshake(三向交握):
1. 用戶端送 SYN,提出建立連線並提供起始序號。
2. 伺服器回 SYN-ACK,提供自己的起始序號並確認對方。
3. 用戶端回 ACK,確認伺服器的序號,完成這個基本交握流程。
SYN 表示同步序號;ACK 表示確認。Sequence Number(序號)追蹤位元組的位置;Acknowledgment Number(確認號碼)表示接收端下一個期待的序號。收到序號 1201 開始、連續 128 個資料位元組時,下一個期待值是 1329;本例假設沒有缺口且只計資料。
TCP 透過確認、遺失資料重傳、流量控制及壅塞控制協調傳輸。應用程式收到連線或寫入成功的結果後,若要確認交易完成,仍由自己的請求/回應流程回報,例如訂單系統回傳訂單編號。TCP 的正式規格見 RFC 9293。RFC 9293:TCP
可以把交握理解為雙方建立「這段資料往來的傳輸狀態」。網站登入則是應用程式確認帳號身分;兩個階段各有自己的目的。這也讓今天課堂提到的工作階段更容易理解:網路連線、登入驗證與應用程式登入狀態,可以分層觀察。
TCP 透過三向交握建立連線狀態,TLS 及應用登入依所用服務另行進行。
整張圖依欄位寬度等比縮放,不裁切。小螢幕的圖中文字也會變小,可開啟原圖放大,或閱讀下方會自動換行的文字解說。
- 讀圖重點
- TCP 透過三向交握建立連線狀態,TLS 及應用登入依所用服務另行進行。
箭頭表示教學步驟順序;各步依其條件執行。
Client → Server:SYN
提出 TCP 連線要求
同步初始序號
Server → Client:SYN+ACK
回應自己的 SYN 並確認對方
兩個方向各有序號空間
Client → Server:ACK
完成典型三向交握
接續傳送應用資料
依服務繼續:TLS/應用登入
HTTPS 建立安全通道
網站登入處理使用者身分
每一層處理自己的狀態、規則與證據。
4|UDP:以資料報為單位傳送
UDP(User Datagram Protocol,使用者資料報協定)以 Datagram(資料報,一則有邊界的訊息)為單位傳送。它的標頭包含來源埠、目的埠、長度與檢查碼。基本 UDP 傳輸直接交送資料報;需要確認、重試、排序或重複抑制時,由上層協定依用途設計。RFC 768:UDP
例如即時語音重視目前聲音的時間性:應用程式會依延遲、遺失率與播放時點決定如何處理。名稱查詢也常使用 UDP,由查詢端處理逾時與必要重試。DNS 同時支援 TCP,實際採用哪一種要看查詢情境及協定需求。RFC 1035:DNS 傳輸
這裡用兩個問題比較:TCP 提供的基本介面是有序位元組串流;UDP 提供的基本介面是獨立資料報。最後呈現的可靠性、延遲與安全性,來自整套協定及實作。
現代網頁就是好例子:QUIC 是建立在 UDP 上的安全多路傳輸協定,提供串流與可靠傳輸等機制;HTTP/3 把網頁請求及回應放在 QUIC 上運作。因此觀察 UDP 流量時,也可能看到現代網頁服務。RFC 9000:QUIC、RFC 9114:HTTP/3
TCP 提供可靠且有順序的位元組串流,UDP 提供資料報傳遞;應用協定決定額外需求。
整張圖依欄位寬度等比縮放,不裁切。小螢幕的圖中文字也會變小,可開啟原圖放大,或閱讀下方會自動換行的文字解說。
- 讀圖重點
- TCP 提供可靠且有順序的位元組串流,UDP 提供資料報傳遞;應用協定決定額外需求。
並列卡片比較不同類別;排列順序沒有流程意涵。
TCP:位元組串流
依序交付資料,處理確認與重傳
應用程式自行界定訊息邊界
UDP:資料報
保留單一訊息的邊界
應用依需求處理遺失與順序
選擇看應用需求
資料完整性、延遲、流量與實作
整體行為由多層共同決定
例:QUIC 建立在 UDP 上
再提供串流與可靠傳輸機制
HTTP/3 使用 QUIC
先看底層傳輸,再看上層協定的設計。
5|Port:把資料交給對應的程式入口
Port(連接埠)是 TCP、UDP 等傳輸協定使用的數字欄位,協助作業系統區分程式的通訊端點。TCP 與 UDP 的埠號各自構成命名空間,所以 `TCP/53` 和 `UDP/53` 是兩個需要分別處理的端點。
埠號欄位有 16 位元,數字範圍是 0–65535。IANA(Internet Assigned Numbers Authority,網際網路號碼分配機構)登錄表將其分為:系統埠 0–1023、使用者埠 1024–49151、動態/私用埠 49152–65535;其中 0 為保留埠。IANA 服務名稱與連接埠登錄表
用戶端發出請求時,通常由作業系統選一個暫用的來源埠;伺服器在設定的目的埠提供服務。Ephemeral Port(暫用連接埠)的實際選取範圍依作業系統設定;IANA 的動態範圍是登錄分類,閱讀實際紀錄時以主機設定為準。
例如:`192.0.2.10:53000 → 198.51.100.20:443,TCP`。
這表示來源位址 192.0.2.10 的 53000 埠,正與目的位址 198.51.100.20 的 443 埠進行 TCP 通訊。回程資料則對應目的端的來源埠,讓作業系統找到發出請求的程式。
Five-tuple(五元組)通常是「來源 IP、來源埠、目的 IP、目的埠、傳輸協定」。它常用來描述一條網路流;記錄時加上時間與觀察位置,就更容易區分不同階段的往來。
6|Service:真正處理請求的程式與規則
Service(服務)是提供某種功能的程式或程序,例如網頁、名稱解析、郵件或遠端管理。Listener(監聽端點)表示程式已在指定位置準備接收通訊。Socket(通訊端)是程式與網路互動的介面概念,常以位址、埠及協定描述其綁定或連線資訊。
同一台伺服器可以同時提供多個服務;一個服務也可以分散到多台機器。程式 Bind(綁定)到哪個位址,會影響它在哪些介面接收資料。例如只綁定 Loopback(回送)位址的開發服務,供本機程式使用;綁定對外介面時,再由主機及網路規則決定可達範圍。
常見對照可先記:SSH(Secure Shell,安全遠端管理)常用 TCP/22;DNS 常用 UDP/53 與 TCP/53;HTTP(Hypertext Transfer Protocol,超文字傳輸協定)常用 TCP/80;HTTPS(以安全通道承載 HTTP)常見 TCP/443,HTTP/3 則使用 QUIC,常見 UDP/443。
讀埠號時,可以先用登錄慣例形成服務假設,再以服務設定、實際協定回應與管理紀錄確認。某程式也能使用自訂埠,例如測試網頁用 8443。辨識服務時,描述「哪個協定、哪個埠、得到什麼回應」,資訊最完整。
公開網頁可能由 Reverse Proxy(反向代理)接收請求,再轉給內部程式;同一 IP 上也可能承載多個網站。網站名稱、TLS 設定與 HTTP 請求共同決定最終服務。這延伸了前面「位址、埠、服務」各自分工的概念。
7|完整案例:開啟一個安全網頁
以下是合成情境,位址用於文件說明,沒有實際連線。假設這次瀏覽器選用 TCP 上的 HTTPS:
第一步,瀏覽器依名稱解析結果取得 `shop.example` 的服務位址 198.51.100.20。實際系統也可能使用快取中的結果。
第二步,用戶端 192.0.2.10 選來源埠 53000,連到目的 TCP/443。中間路由器依路由轉送,防火牆按設定處理這條通訊。
第三步,TCP 完成基本交握。接著 TLS(Transport Layer Security,傳輸層安全性協定)建立安全通道,瀏覽器核對服務憑證與網站名稱等條件。
第四步,瀏覽器傳送 HTTP 請求,網頁服務處理並回應內容。若頁面需要登入,應用程式再處理帳號驗證與授權;若使用者送出訂單,服務再回覆該筆交易結果。
這個例子能分成四張查核卡:
- 位址卡:名稱解析到了哪個位址?觀察時間及來源是什麼?
- 傳輸卡:TCP 還是 UDP?來源及目的埠是什麼?
- 安全通道卡:TLS 的連線與憑證檢查結果如何?
- 應用卡:收到什麼 HTTP 回應、登入或交易結果?
用這種分層方式排查,可以清楚表達「名稱已解析,TCP 已建立,正在查 TLS 設定」或「網頁已回應,正在查應用程式權限」。每一步都有自己的觀察資料。
來源 IP、來源連接埠、目的 IP、目的連接埠與傳輸協定共同描述一條通訊流。
整張圖依欄位寬度等比縮放,不裁切。小螢幕的圖中文字也會變小,可開啟原圖放大,或閱讀下方會自動換行的文字解說。
- 讀圖重點
- 來源 IP、來源連接埠、目的 IP、目的連接埠與傳輸協定共同描述一條通訊流。
箭頭表示教學步驟順序;各步依其條件執行。
來源端點
192.0.2.10:53000
用戶端這次使用的來源連接埠
目的端點
198.51.100.20:443
伺服器接收連線的端點
傳輸協定:TCP
來源與目的端點加上協定
共同形成此處的五元組
回應方向
198.51.100.20:443 → 192.0.2.10:53000
在同一觀察位置核對雙向資料
位址為文件範例;實際部署另核對 NAT 與代理。
8|如何轉成防護與可查核的紀錄?
管理服務時,先建立「業務用途 → 程式 → 綁定位址 → 協定/埠 → 允許來源 → 負責人」的對照。只開放業務需要的入口,管理用途安排核定的網路及身分條件;服務退役時一起關閉端點並更新清單。
Firewall(防火牆)依規則處理流量。L3(第三層)條件常包含 IP;L4(第四層)條件包含 TCP/UDP 與連接埠。實際規則依部署產品及架構設計;應用程式身分驗證與授權繼續在相應層次執行。
在已授權的環境,驗證時可比較三種證據:主機上的監聽設定、網路規則與日誌、正常使用者的服務回應。例子是「程式綁定內部位址的 TCP/8443;規則只允許管理網段;管理網段正常連線,其他測試來源按規則受限」。
若觀察位置跨越 NAT(Network Address Translation,網路位址轉換)或代理,保存位置與對應紀錄,因為不同位置看到的位址或埠可能不同。這接回 M02-06 的網路足跡,以及 M02-08 的來源、時間、觀察與推論分欄。
本課只練習讀資料。後續實作會在明確授權的隔離環境,逐步學習主機探索、掃描方法與服務辨識,並記下工具、參數、目標範圍與回應。
9|紙上練習與小檢核
先讀兩筆合成紀錄:
紀錄 A:`192.0.2.10:53000 → 198.51.100.20:443,TCP`。
紀錄 B:`192.0.2.10:53001 → 198.51.100.20:443,UDP`。
把兩筆的五元組分別寫出來,再各補一句「下一份想查的服務證據」。你會開始把數字、傳輸方式與實際功能連起來。
小檢核一:IP、連接埠與服務,哪個配對最合適?A.IP 是登入密碼;B.連接埠就是應用程式名稱;C.IP 協助定址,連接埠協助分派端點,服務處理需求;D.三者完全相同。
小檢核二:TCP/443 和 UDP/443 的關係為何?A.協定不同,需要分別辨識;B.一定是同一條連線;C.只要埠相同就共用全部狀態;D.UDP 只能用 53。
小檢核三:如果這次服務使用 TCP,TCP 三向交握與網站帳號登入各在處理什麼問題?請用自己的話各寫一句。
小檢核四:看到目的 TCP/8443 的通訊,你會保存哪幾項資料,並從哪裡確認真正服務用途?
參考解答會隨教材整理,作答與理解狀態依實際回覆另記。
今天帶走一句話:先看位址,再看協定與埠,最後用服務證據確認實際用途。 下一單元 M03-02 會介紹 Host Discovery(主機探索),從 ICMP 與 ARP 理解如何在授權環境觀察主機。
參考解答:小檢核一
答案:C。IP 協助定址與轉送;TCP、UDP 等傳輸協定中的連接埠協助作業系統把資料分派到通訊端點;實際程式依應用規則提供服務。閱讀紀錄時把位址、協定、埠與服務證據串起來。
參考解答:小檢核二
答案:A。TCP 與 UDP 使用各自的埠號空間;TCP/443 與 UDP/443 要分別辨識。常見情境是 TCP 上的 HTTPS 與 UDP 上的 QUIC/HTTP/3,實際用途再核對服務設定與協定回應。
參考解答:小檢核三
參考答案:TCP 三向交握讓雙方同步起始序號並建立傳輸連線狀態;網站登入是應用程式驗證帳號身分。若使用 HTTPS,還會依服務流程建立 TLS 安全通道。每一層分別查看它的結果。
參考解答:小檢核四
參考答案:保存來源及目的 IP、來源及目的埠、TCP 協定、時間與觀察位置,並記實際回應。可查主機監聽與程式設定、資產清單、反向代理設定及負責人的管理紀錄;授權測試中再核對協定回應。8443 是可形成假設的線索,具體用途由這些證據確認。
概念 Q&A
待補:收到相關問題後,會整理為匿名教學版。