由 Lee Stanton 於 2023 年 4 月 20 日發佈如何在 Wireshark 中讀取 HTTPS 流量

Wireshark 是一款流行的開源數據包分析器,為網絡分析、故障排除、教育等提供了廣泛的便捷功能。 第一次使用 Wireshark 的人和已經有使用 Wireshark 經驗的人常常想知道如何讀取 HTTPS 流量。

如果您是其中之一,那麼您來對地方了。 在這裡,我們將解釋什麼是 HTTPS 及其工作原理。 然後我們將討論您是否可以讀取 HTTPS 流量、為什麼這可能是一個問題以及您可以採取哪些措施。

什麼是 HTTPS?

安全超文本傳輸協議 (HTTPS) 代表 HTTP 的安全版本,可確保 Web 瀏覽器和網站之間的安全數據傳輸和通信。

HTTPS 確保安全並防止竊聽、身份盜竊、中間人攻擊和其他安全威脅。 如今,任何網站都會要求您輸入信息或使用 HTTPS 創建帳戶來保護您。

HTTPS 通過加密 Web 瀏覽器和服務器之間的所有交換來防止安全威脅和惡意攻擊。

需要澄清的是,HTTPS 並不獨立於 HTTP。 相反,它是 HTTP 的一種變體,它使用安全套接字層 (SSL) 和傳輸層安全性 (TLS) 等特定加密來保護通信。 當 Web 瀏覽器和 Web 服務器通過 HTTPS 進行通信時,它們會進行 SSL/TLS 握手,即交換安全證書。

如何判斷您與網站的通信是否受 HTTPS 保護? 只需查看地址欄即可。 如果您在 URL 開頭看到“https”,則表明您的連接是安全的。

Wireshark如何讀取HTTPS流量

HTTPS 的主要特點之一是它是加密的。 雖然當您在線購物或在網站上留下個人信息時這是一個優勢,但當您跟踪監控網絡流量和分析網絡時,這可能會很不方便。

由於HTTPS是加密的,因此無法在Wireshark中讀取它。 但您可以顯示 SSL 和 TLS 數據包並將其解密為 HTTPS。

請按照以下步驟在 Wireshark 中讀取 SSL 和 TLS 數據包:

  1. 打開 Wireshark 並從“捕獲”菜單中選擇您想要捕獲的內容。
  2. 在“包列表”窗格中,關注“協議”列並查找“SSL”。
  3. 找到您感興趣的 SSL 或 TLS 包並打開它。

如何在Wireshark中破解SSL

破解 SSL 的推薦方法是使用預主密鑰。 您需要完成以下四個步驟:

  • 設置環境變量。
  • 啟動您的瀏覽器。
  • 在 Wireshark 中配置您的設置。
  • 捕獲和解密會話密鑰。

讓我們更詳細地了解每個步驟。

設置環境變量

環境變量是決定計算機如何處理不同進程的值。 如果要解密SSL和TLS,必須首先正確設置環境變量。 您將如何執行此操作取決於您的操作系統。

設置環境變量為 Windows

Windows 用戶必須按照以下步驟設置環境變量:

  1. 啟動“開始”菜單。
  2. 打開“控制面板”。
  3. 轉到“系統和安全”。
  4. 以利亞“系統”。
  5. 向下滾動並選擇“高級系統設置”。
  6. 再次檢查您是否在“高級”部分並點擊“環境變量”。
  7. 在“用戶變量”上按“新建”。
  8. 在“變量名稱”中鍵入“SSLKEYLOGFILE”。
  9. 在“變量值”中,輸入或瀏覽日誌文件的路徑。
  10. 按確定。”

設置環境變量為 Mac 哦 Linux

如果你是一個 Linux 哦 Mac 用戶,您將需要使用nano來設置環境變量。

Linux 用戶應該打開終端並輸入以下命令:“nano ~/.bashrc”。 Mac 用戶需要打開 Launchpad,按“其他”並啟動終端。 然後,他們應該輸入以下命令:“nano ~/.bash_profile”。

兩個都 Linux y Mac 用戶必須按照以下步驟才能繼續:

  1. 將此文件添加到文件末尾:“export SSLKEYLOGFILE=~/.ssl-key.log”。
  2. 保存您的更改。
  3. 關閉終端窗口並啟動另一個。 Enter 這一行:“echo $SSKEYLOGFILE”。
  4. 您現在應該可以看到之前的 SSL 主密鑰記錄的完整路徑。 複製此路徑以保存供以後使用,因為您需要將其輸入到 Wireshark 中。

蘭扎圖瀏覽器

第二步是啟動瀏覽器以確保日誌文件正在使用。 您必須打開瀏覽器並訪問啟用 SSL 的網站。

訪問上述網站後,檢查您的文件中的數據。 在 Windows 中您必須使用記事本,而在 Mac 在 Linux 中,您應該使用以下命令:“cat ~/.ssl-log.key”。

配置 Wireshark

一旦確定瀏覽器在所需位置註冊了以前的主密鑰,就可以配置 Wireshark。 配置完成後,Wireshark 應該能夠使用密鑰來解密 SSL。

請按照以下步驟操作:

  1. 啟動 Wireshark 並轉到“編輯”。
  2. 單擊“首選項”。
  3. 展開“協議”。
  4. 向下滾動並選擇“SSL”。
  5. 搜索“(Pre)-Master Secret log file name”並輸入您在第一步中設置的路徑。
  6. 按確定。”

捕獲和解密會話密鑰

現在您已完成所有設置,是時候檢查 Wireshark 是否破解 SSL 了。 這是你應該做的:

  1. 啟動 Wireshark 並啟動未過濾的捕獲會話。
  2. 最小化 Wireshark 窗口並打開瀏覽器。
  3. 訪問任何安全網站獲取數據。
  4. 返回 Wireshark 並選擇任何具有加密數據的幀。
  5. 查找“數據包字節視圖”並查看“SSL 解密”數據。 HTML 現在應該可見。

Wireshark 提供哪些方便的功能?

Wireshark 成為領先的網絡數據包分析器的原因之一是它提供了多種方便的選項來增強您的用戶體驗。 這裡是其中的一些:

顏色編碼

瀏覽大量信息可能會非常耗時且令人筋疲力盡。 Wireshark 嘗試通過獨特的顏色編碼系統幫助您區分不同類型的數據包。 在這裡您可以看到主要包類型的默認顏色:

  • 淺藍色 – UDP
  • 淺紫色-TCP
  • 淺綠色:HTTP 流量
  • 淺黃色- Windows- 特定流量(包括服務器消息塊 (SMB) 和 NetBIOS
  • 深黃色——路由
  • 深灰色:TCP SYN、ACK 和 FIN 流量
  • 黑色:包含錯誤的數據包

您可以通過轉到“查看”並選擇“顏色規則”來查看完整的配色方案。

Wireshark 允許您在設置中根據自己的喜好自定義顏色規則。 如果您不想著色,請切換“著色包列表”旁邊的切換按鈕。

指標和統計

Wireshark 提供了多種選項來獲取有關捕獲的更多信息。 這些選項位於窗口頂部的“統計”菜單中。

根據您感興趣的內容,您可以查看有關捕獲文件屬性、解析地址、數據包長度、端點等的統計信息。

領域 Line

如果您的系統沒有圖形用戶界面 (GUI),那麼您會很高興知道 Wireshark 有一個。

混雜方式

默認情況下,Wireshark 允許您捕獲傳入和傳出您正在使用的計算機的數據包。 但是,如果啟用混雜模式,則可以捕獲整個局域網 (LAN) 上的大部分流量。

經常問的問題

Wireshark可以過濾數據包嗎?

是的,Wireshark 提供了高級過濾選項,使您可以在幾秒鐘內顯示相關信息。

該平台有兩種類型的過濾器:捕獲和可視化。 數據捕獲期間使用捕獲過濾器。 您可以在開始數據包捕獲之前配置它們,並且在此過程中無法更改它們。 這些過濾器是快速查找您感興趣的數據的簡單方法。 如果 Wireshark 捕獲的數據與您設置的過濾器不匹配,它不會顯示它。

視圖過濾器在捕獲過程之後應用。 與丟棄不符合您設置條件的數據的捕獲過濾器不同,顯示過濾器只是從列表中隱藏此數據。 這使您可以更清晰地查看捕獲的內容,並輕鬆找到您要查找的內容。

如果您在 Wireshark 中使用了很多過濾器並且難以記住它們,那麼您會很高興知道 Wireshark 允許您保存過濾器。 這樣,您就不必擔心忘記正確的語法或應用錯誤的過濾器。 您可以通過按“過濾器”字段旁邊的書籤圖標來保存過濾器。

使用Wireshark分析主網絡

憑藉其令人印象深刻的數據包分析選項,Wireshark 允許您詳細了解進出網絡的流量。 雖然 Wireshark 提供了高級功能,但它擁有簡單直觀的界面,因此即使是數據包分析領域的新手也能快速掌握竅門。 讀取 HTTPS 流量可能並不容易,但如果您解密 SSL 數據包,則有可能。

您最喜歡 Wireshark 的什麼? 你有遇到過這樣的問題嗎? 請在下面的評論部分告訴我們。