在 Mac 上使用「終端機」擷取封包追蹤

若您知道如何讀取封包追蹤,您會發現它可以在您診斷網路連線問題時派上用場。

取得網路介面的 BSD 裝置名稱

  1. 使用管理者帳號登入 Mac。
  2. 按住 Option 鍵,然後選擇「蘋果」選單()>「系統資訊」(或「系統描述」)。
  3. 從「系統資訊」視窗左側列表選取「網路」。 
  4. 從視窗右側的現用服務列表,選取網路介面(例如 Wi-Fi 或乙太網路)。
  5. 從視窗底部的詳細資料區段,尋找「BSD 裝置名稱」。在圖例中,Wi-Fi 的 BSD 裝置名稱為 en0。

「系統資訊」視窗

擷取封包追蹤

  1. 開啟「終端機」(位於「應用程式」檔案夾的「工具程式」檔案夾中)。
  2. 輸入以下指令,但請將 BSDname 換成「系統資訊」中的 BSD 裝置名稱(例如 en0、en1 或 ppp0):

    sudo tcpdump -i BSDname -s 0 -B 524288 -w ~/Desktop/DumpFile01.pcap

  3. 按 Return 鍵,然後在出現提示時輸入您的管理者密碼。
  4. 終端機應該顯示 tcpdump: listening on...,表示它正在聽取該網路介面的活動。
  5. 當「終端機」開啟時,請執行想要測試的網路功能。
  6. 當網路功能完成時,請返回「終端機」並按 Control-C 以擷取封包追蹤。終端機會將其儲存至桌面上名為「DumpFile01.pcap.」的檔案。 
  7. 若要查看該檔案的內容,請在「終端機」中使用此指令:

    tcpdump -s 0 -n -e -x -vvv -r ~/Desktop/DumpFile01.pcap

  8. 若要擷取其他封包追蹤,請修改「終端機」指令以遞增所儲存檔案的號碼(例如 DumpFile02.pcap、DumpFile03.pcap 等)。

更多內容

Apple Developer 網站提供了更多封包追蹤的相關資訊。進行網路連線的故障診斷時,您應該要知道電腦機型、macOS 版本、IP 位址(和目標 IP 位址)與媒體存取控制(MAC)位址。您也應該瞭解電腦在網路活動中的角色,以及與問題關聯的每個網路事件的時間。

對 AirPort 基地台和寬頻數據機之間的連線進行故障診斷時,請重新啟動基地台,並在啟動時擷取基地台與 Internet 網路服務供應商的互動。您可以使用「AirPort 工具程式」重新啟動基地台,或暫時拔掉電源。進行測試的同時,最好將基地台、數據機和擷取電腦連接至乙太網路集線器,而不是切換器。您也應該手動指派擷取電腦的 IP 位址,避免它採用基地台需要的 DHCP 租約(169.254.x.x 位址應該已足夠)。

封包追蹤可能顯示 Mac 所寄出的封包 TCP 核對碼為 Bad(損壞)。這是因為封包追蹤是在網路堆疊的連結層擷取,該層位於產生核對碼的實體網路轉換器之前。這可不予理會。

發佈日期: