iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
Security

從0基礎開始起飛,一起一步步踏入資安系列 第 25

[ Day 25 ] 封包? pcap檔

  • 分享至 

  • xImage
  •  

什麼是「封包」(Packet)?

pcap ( packet capture )
封包就是網路上的小信封。當你在網路上傳東西(傳訊息、看影片、開網頁),電腦會把大資料切成很多個小封包,然後把這些封包一個一個送出去,目的端再把它們拼回去。

例如 :

  • 你要寄一大箱卡片給朋友,但郵局不能一次搬整箱。
    → 你把卡片分成一封封小信(封包),每封信上寫收件人地址和信中順序(第幾封)。
  • 郵差(路由器)會把每封信轉送到目的地,可能經過好幾個中繼站(router)。最後朋友收到所有信,再把它們照順序排好 → 看到完整的卡片內容。

分割:大資料會被拆成小塊(封包)再傳。
標記與重組:每個封包都帶「標籤」告訴誰收、怎麼排回去。

封包的組成

每個封包通常可以分成兩部分:標頭(header)載荷(payload)
標頭告訴網路怎麼送;載荷是你要送的東西。

  • 標頭(Header):像信封上的地址與處理指示,通常有:
    • 來源 IP(哪台電腦寄的)
    • 目的 IP(要寄到哪台電腦)
    • 傳輸協定(TCP 或 UDP)與 port(哪個程式收)
    • 封包序號、檢查碼(用來確認資料沒壞掉)
  • 載荷(Payload):信封裡真正的信(你要送的資料,例如網頁內容、影片片段、聊天文字)。

網路分層:封包在哪一層?

電腦網路把工作分成好幾層(像是工廠流水線),常見的幾層與封包關係:

  • 鏈路層(Link / Ethernet):最底層,處理同一個網路(區域網路)內的傳輸,封包在這層被包成「幀(frame)」,包含 MAC 地址(實體網卡位址)。
  • 網路層(Network / IP):負責「路由」,也就是把資料找到跨網路的路徑,這一層的資料我們通常就叫 IP 封包(含來源/目的 IP)。
  • 傳輸層(Transport / TCP 或 UDP):負責「可靠傳輸與分段」或「快速傳輸不保證到達」,它把應用層的資料切成可管理的塊並標上序號或檢查資訊。
  • 應用層(Application / HTTP、DNS、SMTP...):真正的應用資料(像你看網頁的 HTML、影片的資料流)。

TCP vs UDP:兩種常見的傳輸方式

  • TCP(傳輸控制協定):可靠但慢一點。
    • 會檢查每個封包是否到達、會重傳遺失的封包、按序號重組資料。
    • 適合需要完整資料的應用:網頁(HTTP)、檔案下載、電子郵件。
  • UDP(使用者資料報協定):快速但不保證可靠。
    • 不會重傳遺失的封包,簡單傳送就好。
    • 適合即時應用:線上遊戲、語音/視訊通話(VoIP)、DNS 查詢

封包大小與分片

  • 每個網路介面(像 Wi-Fi、以太網)都有最大封包大小(MTU,Maximum Transmission Unit),通常約幾百到幾千位元組。
  • 如果資料比 MTU 大,系統會把大資料切成多個小封包(分片)傳送;目的端再把這些片段合併。
  • 分片太多會降低效率,還可能造成丟包或效能問題。

路由(Router)怎麼把封包送對路?

  • 當封包離開你的網路,要跨到別人網路時,路由器(router) 決定下一個該把封包丟給誰。
  • 路由器看封包內的目的 IP,參考自己的路由表(好比地圖與導航)決定下一個跳躍點。
  • 最後封包會到達目的地網路,再被送給目的機器上的程式(用 port 判斷)。

封包遺失、重傳與順序

如果郵件掉了一封,寄件人會再寄一次,最後你收到全套。

  • 網路上有時會丟掉封包(擁塞、雜訊、路由問題)。
  • 使用 TCP 時,接收端會告訴傳送端哪些序號已收到(ACK),傳送端會重傳沒收到的序號。
  • 這樣,最終上層程式(像瀏覽器)可以得到完整且正確排序的資料。

安全性與隱私

  • 封包在路徑上經過很多節點(交換器/路由器),中間節點可以檢視封包的內容(未加密時)。
  • 現代網路常用 TLS(HTTPS) 把應用層資料加密,保護內容即使封包被攔截也看不到明文。
  • 但標頭(例如來源 IP、目的 IP)通常還是明文,用來路由,所以可以被觀察到流量來源與目的。
  • 做抓包分析或監聽他人封包前,一定要遵守法律與道德(未經允許分析別人的流量可能違法)。

常見名詞小總結

  • 封包(Packet):網路上傳送的小資料單位。
  • 標頭(Header):封包的「標籤」,告訴路線、來源、協定等。
  • 載荷(Payload):封包裡真正的資料(應用內容)。
  • MTU:最大傳輸單位,決定封包不能太大。
  • 路由器(Router):幫封包找路的「導航員」。
  • TCP / UDP:兩種主要的傳輸協定 — 一個可靠(TCP)、一個快速(UDP)。

上一篇
[ Day 24 ] 善用Linux工具解碼 ( 古典 / 現代密碼學 )
系列文
從0基礎開始起飛,一起一步步踏入資安25
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言