今天的實作是學習使用 Wireshark 來捕獲和分析網路封包。Wireshark 是一款強大的封包捕獲與分析工具,適合用來檢視網路中流動的資料,對於發現不明流量、攻擊模式、以及流量排解有極大幫助。
目標
- 使用 Wireshark 捕獲本機流量。
- 分析 HTTP 請求、DNS 查詢以及其他常見協定封包。
工具
-
Wireshark:下載並安裝 Wireshark。
-
操作環境:可以在本地環境(例如使用者自己的電腦或虛擬機)進行。
步驟(捕獲封包與初步分析)
-
啟動 Wireshark
- 開啟 Wireshark 並選擇捕獲接口(在 Capture 那邊)。對於本機,選擇「lo0」(Linux / macOS)或「Ethernet」/「Wi-Fi」(Windows)。
-
開始捕獲流量
- 按下「Start」按鈕開始捕獲,這會記錄從網路接口流過的每一個封包。
-
進行網頁瀏覽操作
-
停止捕獲
- 完成後,返回 Wireshark,點擊停止按鈕來停止捕獲流量。
-
篩選特定協定
- 在 Wireshark 上方的過濾器欄位,輸入
http 或 dns 來篩選出 HTTP 或 DNS 封包。這樣可以聚焦於網站請求或域名解析過程。雖然現代網站幾乎全面採用 HTTPS(即加密版 HTTP),但仍可藉由 Wireshark 觀察其 TCP 連線與 TLS 握手過程,以確認 HTTP 請求實際是透過安全通道傳輸的。
-
分析封包
- 點擊任意 HTTP 或 DNS 封包,檢視詳細內容,包括源 IP、目的 IP、協定、端口號碼以及傳送的資料,確保能顯示源/目的 IP 和協定類型。
成果
- **截圖 1 Wireshark 捕獲的 HTTP 封包與來源資料:

本次實作原本目標是觀察 HTTP 封包,但由於現今網站(如 www.ithome.com.tw)多採用 HTTPS 加密傳輸,
因此實際觀察到的為加密版 HTTP 封包(TLSv1.3 協定)。在 Wireshark 過濾條件 ip.addr == 52.199.95.180 && tcp.port == 443 下,可清楚看到 TLS Client Hello、Server Hello、Encrypted Handshake Message 等封包,代表瀏覽器與網站伺服器建立加密連線並交換金鑰。雖無法直接看到 HTTP 明文內容,但可由協定與目的 IP 驗證其屬於 HTTP over TLS 傳輸,即現今主流的安全版 HTTP(HTTPS)。
-
截圖 2:
Day20_dns_packets.png — 顯示 DNS 查詢封包。

在 Wireshark 中過濾 dns 封包,可觀察到瀏覽器在連線前查詢 www.ithome.com.tw 的 IP。
查詢封包中顯示 Queries: Name = www.ithome.com.tw,回應封包中 Answers: Address = 52.199.95.180,
代表 DNS 成功將網域轉譯為 IP 位址,之後瀏覽器再透過該 IP 建立 HTTPS 連線。
小結
今天透過 Wireshark 觀察了 DNS 查詢與回應的過程,確認瀏覽器在開啟網站前,會先向 DNS 伺服器詢問 IP 位址。
這次實測成功看到 www.ithome.com.tw 被解析為 52.199.95.180,讓我更清楚知道「連線前的第一步」其實就是 DNS。