iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0

DAY17 TCP/UDP/ICMP/常見的網路協定

  • 一. TCP 可靠的傳輸協定
    • 1-1 TCP三向交握
    • 1-2 Sequence Number(序號)與 ACK Number(確認號碼)
    • 1-3 TCP常見的狀態
    • 1-4 流量控制Flow Control、壅塞控制Congestion Control
    • 1-5 SYN Flood (SYN洪水攻擊)
    • 1-6 TCP Session Hijacking(TCP 連線劫持)
  • 二. UDP 快速但不可靠的傳輸協定
  • 三. TCP 與 UDP 比較
  • 四. ICMP 網路診斷協定
  • 五. 常見Port與L7應用層對應的服務
  • 六. 私有IP Private IP 與 網路位址轉譯 NAT

一. TCP 可靠的傳輸協定

Transmission Control Protocol, TCP
傳輸控制協定
確保你資料的完整、按順序、沒遺漏的送到對方手中
如果中間有缺失,會要求重新傳送

TCP的特性

  • 連線導向
  • 可靠傳輸
  • 順序保證
  • 流量控制
  • 有確認與重傳

1-1 TCP三向交握

當MIKEY想跟伺服器Server建立連線時,會經過3個步驟
第一步: MIKEY ---SYN---> Server
MIKEY:「嗨Server,我想跟你連線」

第二步: Server ---SYN+ACK---> MIKEY
Server:「好的,我收到了,我也想跟你連」

第三步: MIKEY ---ACK---> Server
MIKEY:「收到,那我們開始吧」
連線建立

SYN -> SYN+ACK -> ACK

1-2 Sequence Number(序號)與 ACK Number(確認號碼)

Sequence Number (序號)
用來:

  • 確認資料順序
  • 判斷遺失資料
  • 支援重傳

ACK Number (確認號碼)
用來表示那些資料已經成功收到

所以TCP能做到可靠+有序傳輸

1-3 TCP常見的狀態

SYN-SENT
MIKEY:
已送出SYN,等待Server回應

SYN-RECEIVED
Server:
已收到MIKEY傳的SYN
已回應SYN+ACK
等待MIKEY確認(ACK)

ESTABLISHED
三向交握:
完成
開始正常傳輸資料

CLOSE-WAIT
被動關閉的一方
收到FIN後先回ACK
等待本地應用程式發出關閉請求

1-4 流量控制Flow Control、壅塞控制Congestion Control

流量控制 Flow Control
目的是
不要讓傳送端送太快
把接收端塞爆
Sender傳送端 <-> Receiver接收端

壅塞控制Congestion Control
不要讓大量流量把整個網路塞爆

重點
流量控制 Flow Control → 保護接收端
壅塞控制 Congestion Control → 控制網路壅塞

1-5 SYN Flood (SYN洪水攻擊)

攻擊建立在三向交握的過程

正常的三向交握:
SYN -> SYN/ACK -> ACK

攻擊者會把它變成:
攻擊者送大量的SYN
Server回應 SYN/ACK
攻擊者故意不回應 ACK

這導致Server留下了大量的半開連線
Half-Open Connection
最後造成:
系統資源耗盡,正常使用者無法建立連線

IPAS 110-2 Q31
下列何者較「不」是 SYN洪水攻擊(SYN Flood)的防禦方式?
A: 利用防火牆阻擋"所有"TCP連線
這樣正常的TCP連線也會無法連進來
B: 增加Backlog Queue的數量
C: 清理過久 Half-Open Connection
D: 使用SYN Cookie

1-5-1 SYN Flood的常見防禦方式

  1. SYN Cookie
    • 不記帳,憑票認人
    • 雙方都要有一樣的號碼牌,驗證後才帶位
  2. 調整 Backlog Queue
    • 把預約等候區的位子變多
    • 但如果攻擊者很大量攻擊還是會有滿的一天
  3. 清理過久 Half-Open Connection
    • 快速清除被占據的位子
  4. Rate Limiting(速率限制)
  5. 防火牆/IPS 協助過濾異常連線
    • 請一個保全確認對方身分後才轉交給伺服器

1-6 TCP Session Hijacking(TCP 連線劫持)

攻擊者試圖接管一條已經建立的TCP Session (連線會話)


二. UDP 快速但不可靠的傳輸協定

User Datagram Protocol,UDP
使用者資料報協定

與TCP完全相反

  • 不需建立連接
  • 不保證送達
  • 不保證順序

但因為省去了這些保證所以:
速度較快很多

適合:

  • 影片串流
  • 語音通話
  • 線上遊戲

三. TCP 與 UDP 比較

項目 TCP UDP
連線方式 連線導向(三向交握) 非連線導向(直送)
可靠性 高(有確認、重傳機制) 低(只管送不管到)
速度 慢 快
順序保證 有 沒有
資料單位 Segment(區段) Datagram(資料報)
應用 HTTP、HTTPS、FTP、SSH、SMTP DNS、DHCP、影片

四. ICMP 網路診斷協定

Internet Control Message Protocol,ICMP
網際網路控制訊息協定

ICMP運作在OSI L3網路層

它不是用來傳資料的,是用來回報網路狀態的
例如:
Ping指令:

ping 8.8.8.8

背後就是ICMP協定送一個請求出去,對方回應,藉此確認目標是否可以連通,延遲多少

Ping of Death
DoS的一種
攻擊者利用作業系統處理網路封包的漏洞
發送一個超過IP協定最大限制(65,535bytes)的ICMP封包
讓系統在重組時發生緩衝區溢位而崩潰

IPAS
死亡之Ping(Ping of Death, PoD)是針對開放式系統互聯模型(Open System Interconnection Model , OSI Model)的何層攻擊?
B: L3網路層


五. 常見Port與L7應用層對應的服務

Port 連接埠
範圍: 0~65535
其中0~1023是公認連接埠(被保留給常見的服務)

服務 Port 用途 TCP/UDP 有沒有加密
FTP 21 檔案傳輸 TCP ❌ 明文
SSH 22 安全遠端連線 TCP ✅ 加密
SFTP 22 安全檔案傳輸(走SSH) TCP ✅ 加密
SMTP 25 寄送郵件 TCP ❌ 明文
DNS 53 網域名稱解析 TCP + UDP ❌
DHCP 67/68 自動取得IP UDP ❌
HTTP 80 網頁瀏覽 TCP ❌ 明文
HTTPS 443 加密網頁 TCP ✅ 加密

六. 私有IP Private IP 與 網路位址轉譯 NAT

網路有分:
Private IP(內網/私有 IP)
Public IP(外網/公有 IP)

私有IP 位址的範圍
A 10.0.0.0~10.255.255.255
B 172.16.0.0~172.31.255.255
C 192.168.0.0~192.168.255.255

IPAS 108-2 Q1
下列何者「不」是私有網路位址(Private IP)?
A: 10.0.0.1
B: 169.254.2.210
C: 172.31.5.128
D: 192.168.10.220
答案是:B
169.254.x.x 是 APIPA(自動私有 IP 定址),是電腦拿不到 DHCP 分配時自己產生的,跟 Private IP 不一樣

Network Address Translation,NAT
網路位址轉換
NAT是一個把私有IP轉換成公有IP的技術
讓內網可以共用少數幾個公有IP上網

可以做的事:

  • 減少公有IP使用數量
  • 隱藏內部IP位址
  • 在內部網路使用私有IP
    不能防止暴力破解

舉例:在家用手機連WIFI使用Google查資料
家裡路由器:
內網: IP 192.168.1.1
外網: IP 219.161.10.20
Google伺服器: 公有IP 142.250.199.99

第一步:
手機瀏覽器輸入google
這時手機發了一個封包給路由器
來源: 192.168.1.100 (我的手機)
來源Port:50000 (假設手機隨便開的一個port)
目的IP:142.250.199.99 (google伺服器)

因為 192.168.1.100 在網路上是無效的,封包送到路由器時,NAT 會進行改寫與紀錄

第二步:
來源IP改路由器的外網IP 219.161.10.20
來源port也改成路由器分配的port:60001
關鍵動作(NAT 對照表記帳):路由器在記憶體裡寫下一筆記錄:
「只要有回應傳給 218.161.10.20:60001,就是給手機 192.168.1.100:50000 的!」

第三步:
Google伺服器回應 (外網 -> 路由器)

第四步:
路由器還原NAT並交給手機 (外網 -> 內網)


上一篇
DAY16 網路分層模型與網路設備
下一篇
DAY18 防火牆/預設拒絕/網路分段
系列文
格鬥教練想轉職學資安是否搞錯了什麼(自學第一步)IPAS初級筆記 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言