- Wireshark 是一款免費的高級協定分析器,可讓您即時擷取並詳細研究網路流量。
- 過濾器、顏色和分層視圖有助於分析 HTTP、DNS、TCP、UDP 等協議,並偵測問題或攻擊。
- 最新版本,例如 macOS 上的 Wireshark 4.6.0,增加了進程元數據,並提高了現代環境中的偵錯和安全性。
- 掌握 Wireshark 的使用方法,使其成為企業和家庭網路診斷、安全和優化的策略工具。
如果您已經熟悉 Wireshark 並希望更進一步,那麼本文正是為您準備的。我們將探討如何真正發揮其全部功能,從基本的資料包擷取到進階流量分析,包括過濾器、顏色標記、協定以及在網路安全分析、效能最佳化和故障排除方面的實際應用。
本文將以平和簡潔的日常西班牙語解釋許多概念——這些概念常見於專業工具、課程、書籍以及TryHackMe等實驗室——但本文將其應用於實際場景。目標是讓您在閱讀本文後,能夠輕鬆駕馭Wireshark介面,擷取所需數據,並了解網路運作狀況。
Wireshark是什麼?為什麼它如此重要?
Wireshark 本質上是一個網路協定分析器(經典的抓包工具),它可以讓你逐一查看進出網路介面的封包,無論是公共 Wi-Fi 網路、乙太網路或其他網路。每個資料包都會被捕獲、隔離並即時顯示,包含所有詳細資訊。
我們討論的是一款免費開源程序,它根據 GNU 通用公共許可證 v2 發布。這意味著沒有精簡版或「試用版」:您下載的是完整版,包含所有功能,任何開發者都可以審查其程式碼,以確保它不會做任何可疑的事情。
該專案由Wireshark 基金會管理,該基金會是一個非營利組織,負責協調軟體的開發、文件編寫和分發。許多依賴 Wireshark 開展工作的公司和專業人士都會捐款,這使得該工具得以持續發展和更新。
Wireshark 適用於Windows、macOS 和 Linux 發行版(例如 Ubuntu),可從其官方網站 wireshark.org 下載。安裝完成後,您會看到一個介面,乍一看可能有些複雜:數百行資料快速變化,列中包含 IP 位址、協定、長度、時間戳記…但所有這些資訊對於診斷故障、偵測攻擊或了解裝置運作狀況至關重要。
Wireshark 介面:面板、首選項和入門
開啟 Wireshark 後,螢幕會分為幾個主要面板:軟體包清單、所選軟體包的詳細資訊以及原始視圖(十六進位和 ASCII 位元組)。了解這些面板對於高效工作至關重要。
頂部面板顯示所有捕獲的資料包。每一行對應一個資料包,包含資料包編號、時間、來源 IP 位址、目標 IP 位址、協定以及簡要摘要等資訊。中間面板顯示資料包的層級結構(連結層、網路層、傳輸層、應用層),底部面板以十六進位格式顯示位元組及其文字表示。
在設定選單中,您可以開啟Wireshark 的首選項,並調整時間格式、面板顯示方式、欄位語言等設置,甚至可以隱藏某些元素。例如,如果您只想專注於邏輯分析,可以變更面板佈局或停用十六進位位元組的顯示。
在捕獲的會話中導航也至關重要:您可以直接跳到特定的會話包編號,跳到清單中的第一個或最後一個會話包,並使用鍵盤快捷鍵瀏覽會話。此外,您還可以為會話包添加書籤以便稍後返回,這在追蹤較長的會話流程並需要記住某些關鍵點時非常有用。
流量擷取:介面、限制和資料包類型
分析之前,你需要先進行封包擷取。 Wireshark 允許你選擇要監聽的網路介面:乙太網路卡、Wi-Fi、虛擬介面、隧道等等。並非所有介面都支援相同程度的詳細程度,但通常情況下,你可以看到流經設備的流量,甚至在某些模式下,還可以看到本地網路上的流量。
練習時,通常會限制資料包捕獲的數量。例如,您可以啟動一個僅捕獲1.000 個資料包的捕獲,或將其配置為在 5 秒後自動停止。這有助於避免產生過大的文件,並專注於特定的活動時段。
Wireshark 還支援擷取過濾器,讓您從一開始就只記錄特定的封包。一個典型的例子是只捕捉UDP 或 TCP 流量。例如,如果您對線上遊戲或串流服務感興趣,可以啟動僅擷取 UDP 封包的擷取;或者,當您想要研究 HTTP、TLS、FTP 等會話時,可以將擷取限制為 TCP。
取得所需資料後,您可以將結果儲存到副檔名為 .pcap 或 .pcapng 的檔案中,例如「example_tcp.pcap」,然後關閉 Wireshark。之後,您可以重新開啟程序,載入該文件,並隨時進行分析,而無需擔心即時流量中斷或資料遺失。
時間運用:標記、差異與時間分析
時間字段是 Wireshark 中最強大的字段之一。在資料包清單中,您可以查看每個資料包的擷取時間,也可以測量從擷取開始到特定資料包之間,或兩個特定資料包之間經過的時間。例如,您可以查看到達第 300 個資料包所需的時間,以了解通訊的演進過程。
一個非常實用的功能是能夠將資料包設定為零時間參考點。這樣,您可以在捕獲過程中的任何時間點重新定義時間“0”,以便所有其他時間都相對於該資料包進行測量。當您想要研究特定的資料交換而不是整個會話時,此功能非常理想。
透過將時間戳與過濾器和串流追蹤(追蹤 TCP 流、追蹤 UDP 流)結合,您可以相當準確地查看網路上發生的延遲、轉送和重傳情況。這對於診斷網路延遲、瓶頸或丟包問題尤其有用。
分層分析:從 MAC 到應用程式
Wireshark最大的優勢之一在於,它能夠讓你看到每個資料包按照OSI或TCP/IP模型的層級進行分解。從底層開始,你可以看到正在使用的實體媒體或連結類型(例如,乙太網路)以及支援該類型的介面。
在第二層(資料鏈結層),您可以檢查正在使用的協議,在現代網路中通常是乙太網路 II。此時,「EtherType」欄位就顯得特別重要,因為它可能顯示諸如 0x0800(表示 IPv4)或其他不太常見的識別碼之類的值。您可以使用擷取檔案中的篩選器或搜尋功能,尋找具有特定值(例如 0x0800 或 0xEBF2)的資料包。
進入第三層(網路層),您會看到網路協議,通常是IPv4 或 IPv6。這裡會顯示來源 IP 位址和目標 IP 位址,您可以展開字段樹以查看其他詳細信息,例如 TTL(生存時間)、分片、選項等等。識別來源 IP 位址和目標 IP 位址是故障排除中最基本且最常見的任務之一。
在第四層,Wireshark 會告訴你你正在處理的是TCP、UDP 還是其他傳輸協定。在這裡,你可以看到來源連接埠和目標連接埠、TCP 標誌(SYN、ACK、FIN、RST)、序號和確認號,以及用於了解連接是否穩定、是否存在重傳、是否存在丟包或是否突然關閉的關鍵資訊。
最後,在應用層,Wireshark 會嘗試根據偵測到的協定(例如HTTP、HTTPS (TLS/SSL)、DNS、DHCP、FTP、RTP、SIP等)來解析內容。當流量未加密時,甚至可以查看明文內容,包括 HTTP 標頭、FTP 命令,以及如果憑證以不安全的方式傳送,也可以查看憑證本身。
包內的搜尋、篩選和文字字串
處理大型資料包擷取需要使用強大的過濾器和搜尋功能。在 Wireshark 頂部,您可以找到顯示過濾器欄,它允許您僅顯示符合特定條件的封包:例如,使用 `ip.addr == 192.168.1.50` 可以聚焦於特定設備,或使用 `http` 可以僅查看 Web 流量。
如果您懷疑捕獲的資料包中存在未加密的密碼或敏感數據,您可以搜尋資料包內容中的文字字串。例如,您可以檢查捕獲的資料中是否包含“pass”或“content”等字詞。您也可以檢查這些字串是否出現在資料包的摘要或資訊中,而不僅僅是資料包正文中。
這在分析HTTP或FTP等不安全協定時尤其有用。在TryHackMe等訓練環境中,典型任務之一是提取透過這些服務以明文形式發送的憑證,或檢測發送未加密訊息的表單,這顯然存在安全風險。
除了文字字串之外,您還可以透過組合協定欄位、邏輯運算子和比較運算子來使用更精細的篩選器。例如,這可讓您僅隔離失敗的 DNS 請求、包含錯誤的 TCP 封包或來自特定 RTP 流的訊息。
顏色和高亮規則,以提高交通可見性
Wireshark 內建了一套資料包顏色編碼系統,可協助您快速區分不同類型的流量。綠色通常代表「正常」的 TCP 流量,藍色代表 UDP 或 DNS 流量,黑色或紅色則表示錯誤或異常。只需查看螢幕,您就能判斷一切是否運作良好,或者是否存在過多問題線路。
在設定選單中,您可以啟用或停用顏色編碼視圖。如有需要,您還可以修改特定規則的背景顏色;例如,您可以建立一個規則,以特定顏色突出顯示所有 TCP 會話,或以不同的顏色標記重傳封包或格式錯誤的封包。
除了更改顏色之外,您還可以選擇停用特定規則而不將其刪除,這樣可以停止對軟體包進行著色,但您可以稍後重新啟用它。當您測試不同的方案並且不想丟失現有設定時,此功能非常有用。
另一個有趣的技巧是對屬於同一TCP 或 UDP 會話的所有資料包進行顏色編碼。這樣,即使與其他數百個並行連接混雜在一起,您也可以直觀地追蹤兩個端點之間的整個資料流。然後,您可以更輕鬆地瀏覽這些高亮顯示的資料包。
診斷家庭和公司網路問題
雖然 Wireshark 是一款專業級工具,但它也能幫助家庭用戶了解網路連線狀況。例如,如果您在玩線上遊戲時遇到延遲或Wi-Fi 幹擾,可以分析網路流量,查看是否有資料包遺失、亂序到達或連線某些部分延遲過高等問題。
在這種情況下,通常會專注於UDP流量,因為許多遊戲和即時應用程式都使用UDP。如果在按UDP過濾時,您看到許多行都標有錯誤顏色、亂序資料包或重傳,那麼您就知道問題不僅僅是測試中的高延遲,而是與路由穩定性或節點飽和度相關的更深層問題。
當網頁無法載入、印表機從網路中消失或內部服務發生故障時, Wireshark 也非常有用。透過抓取的資料包,您可以準確地看到通訊中斷的位置:請求是否已離開您的電腦但從未收到回應、是否存在 DNS 錯誤、伺服器是否回傳了錯誤代碼等等。
從隱私角度來看,這款工具可以讓你查看裝置透過網路發送的資料。它可以檢測設備是否「過度」與雲端通訊、與未知伺服器保持連接或發送未加密訊息。所有這些都有助於你審核物聯網設備、手機、網路攝影機、智慧電視以及任何其他連網裝置的行為。
在擁有眾多裝置的家庭網路中,您可以隔離每個裝置的 IP 位址,並觀察它連接到哪些伺服器、連線頻率以及傳輸的內容類型。這樣,您可以更好地了解網路的原始流量,並做出諸如設備分段、屏蔽域名或更改配置等決策。
進階分析:HTTP、DNS、網路掃描和攻擊
在更進階的環境中,Wireshark 成為安全分析和事件調查的關鍵工具。它能夠對HTTP 流量、DNS 查詢和回應、使用 Nmap 進行連接埠掃描、ARP 欺騙嘗試、SSH 隧道等進行詳細分析。
透過 HTTP,您可以查看請求頭、回應代碼、請求的 URL,以及在沒有加密的情況下,甚至可以查看表單或檔案的內容。透過 DNS,您可以查看哪些網域正在被解析、哪些伺服器正在被查詢,以及是否有任何可疑的回應或與裝置正常使用不符的網域。
Nmap掃描會在網路上留下特徵模式:多次嘗試連接多個連接埠、使用特定的TCP標誌等。使用適當的過濾器,您可以偵測到這些活動,並確認是否有人正在映射您基礎架構上暴露的服務。
透過觀察本地網路上 IP 和 MAC 位址關聯的修改情況,也可以偵測到 ARP 欺騙/投毒攻擊。此外,即使 SSH 隧道傳輸的內容經過加密,仍可分析連線模式、會話持續時間和資料傳輸量。
這些練習大多包含在類似 TryHackMe 的實踐實驗室中,這些實驗室專注於分析惡意或可疑流量。您將使用預先產生的擷取文件,學習如何僅使用 Wireshark 來識別入侵指標、攻擊向量和異常行為。
macOS 上的 Wireshark 4.6.0:pktap 元資料和進程分析
對於 Mac 用戶來說, Wireshark 4.6.0 版本帶來的最令人興奮的改進之一是引入了對 macOS pktap 元資料的原生支援。這使得您可以將每個網路封包與其產生該封包的系統進程關聯起來,從而提供強大的細節資訊。
由於此集成,Wireshark 可以顯示諸如進程 ID (PID) 和發起流量的應用程式名稱等信息,以及其他相關元資料。這極大地簡化了應用程式偵錯,因為您可以準確地知道是哪個元件正在打開連接、消耗頻寬或導致錯誤。
元資料還包括流標識符和丟包統計信息,從而可以對效能問題進行更詳細的分析。這些資訊通常使用帶有 -ky 和 -K 選項的 tcpdump 命令捕獲,然後導入到 Wireshark 中,Wireshark 會解析並以 pcap-ng 格式顯示這些資料塊。
對於蘋果生態系統中的開發和安全團隊來說,這代表著一個重大飛躍:他們可以非常精確地將事件歸因於特定流程,調查事件,檢測自己應用程式中的異常行為,並驗證安全和隱私政策是否真正得到遵守。
此外,適用於 macOS 的 Wireshark 4.6.0 安裝程式是Arm64 和 Intel 架構通用的,因此簡化了在配備 Apple Silicon 的現代 Mac 和配備 Intel 處理器的較舊電腦上的安裝。
Wireshark 作為專業工具:課程、書籍和現代環境
Wireshark 的高級用法是專業培訓課程中的常見主題,這些課程會重點介紹其在調試、審計和安全任務方面的強大功能。課程內容包括如何從零開始配置該工具、如何進行自訂設置,以及如何分析企業環境中常見的網路協定。
通常會花費大量時間來講解HTTP、FTP、SSL/TLS、DNS、DHCP、RTP、SIP等協議,以及其他在VoIP、Web服務和加密通訊中常用的協議。也會進行實際案例研究,以診斷速度慢、通話品質不佳、服務中斷和配置錯誤等問題。
同時,面向網路專業人員、網路安全專家以及希望在現代場景下掌握 Wireshark 的學生的進階書籍和資源也應運而生。這些資料通常將TCP/IP 理論、TLS、資料包分析和進階過濾器與實踐練習和指導性實驗相結合。
一種常見的做法是將 Wireshark 與其他安全性和監控工具(例如Snort、Suricata、Zeek 或 ELK 技術堆疊(Elasticsearch、Logstash、Kibana))整合到 SIEM 平台中。其理念是使用 Wireshark 進行底層、詳細的檢查,而其他工具則提供關聯分析、警報和高級儀表板。
它還涵蓋了物聯網網路和系統中人工智慧的具體應用,在這些應用中,流量可見性對於檢測漏洞、配置錯誤的設備或異常通訊至關重要。在這些環境中熟練 Wireshark,使其成為保障和優化複雜網路的策略資源。
總的來說,Wireshark 從一個簡單的嗅探器發展成為進階監控、故障診斷、威脅分析以及深入了解應用程式和服務在網路上的行為方式的基本工具。
從基本的捕獲和過濾功能到按協議、顏色、時間和進程元數據進行分析的高級功能,Wireshark 提供了豐富的功能,顯然,對於任何需要了解其網絡上真正發生的事情的人來說,無論是在家、在小型企業還是在大型組織中,Wireshark 都是一款必不可少的工具。
