應用場景
Mirroring (鏡像)可以讓乙太網路封包從選定的來源連接埠複製到指定的目標連接埠,而不會中斷來自交換器和路由器等設備的正常網路流量。封包擷取分析是解決各種網路問題的重要工具以及方式。例如,它可以幫助診斷路由器無法從 ISP 取得 IP 位址、用戶端無法取得 IP 位址或遇到其他網路相關問題等等。
在實際的故障排除場景中,當無法直接觀察某些連接埠時,我們通常會結合使用 Port Mirroring (連接埠鏡像)和抓包來分析問題。 使用以下拓撲為範例,我們將學習如何在以控制器模式運作的 Omada 路由器或交換器中設定 Port Mirroring (連接埠鏡像)並搭配 Wireshark 來抓包。
設定步驟
在深入了解設定方式之前,讓我們花點時間介紹一下 Wireshark,我們將使用此工具來擷取封包。Wireshark 是一款出色的免費封包分析工具。它擁有相當多種用途,包括網路故障排除、分析、軟體和通訊協定分析或是教育訓練分析。您可以從其官方網站 https://www.wireshark.org 下載取得 Wireshark 。
1. 連接埠鏡像:路由器
示範型號:ER707-M2(需要控制器 v5.6 以上版本)
管理者 Tim 在控制器上設定了 Client-to-Site L2TP VPN。然而,完成設定後,他發現 VPN 連線無法正常運作。為了解決這個問題,我們需要確定 L2TP 協商通訊過程中具體哪一步出現了問題。為此,我們需要路由器的上傳和下載流量訊息,以便使用連接埠鏡像捕捉相關封包分析。
1)前往「設備」,然後點擊路由器以載入「詳細資料」視窗。然後點擊 連接埠 。
2)選擇 PC 與路由器連接的 LAN4(連接埠 4)。然後點選編輯 按鈕。
3)設定連接埠鏡像的基本參數:
- 啟用 Mirroring 鏡像。
- 將所選連接埠指定為 Port6(WAN 網路來源)。
- 將鏡像模式指定為 上傳 和 下載。
- 最後點選「套用」。
4)成功套用連接埠鏡像後,您會看到 LAN4 旁邊有一個小眼睛形狀的圖示。
5)測試驗證:
通常,當 PC 連接在 LAN 連接埠後面時,它無法擷取來源位址或目標位址與 WAN 連接埠 IP 位址相符的封包。不過,如果我們分析封包時可以看到 WAN 埠的 IP 位址,就證明我們的連接埠鏡像設定成功了。
管理員 Tim 利用連接埠鏡像成功捕捉到下面顯示的封包訊息。在擷取的封包訊息中,IP 位址 61.228.91.136 屬於 L2TP 用戶端。分析該封包訊息得知了是 ISAKMP 協商初始階段的問題。
(指令「ip.addr == xx」通常用於過濾與特定 IP 位址相關的封包。)
我們可以使用以下語法來分析 ISAKMP 協商階段的封包 ip.addr == 61.228.91.x and (esp or isakmp or tcp or l2tp)
經過排查,Tim 發現是 L2TP 用戶端密碼輸入錯誤(Result Code 768)。隨後這問題解決後,最終 VPN 協商過程順利成功,如下圖所示。
2. 連接埠鏡像:交換器
示範型號:SG2210XMP-M2(Omada SG-2 、SX-2 系列及 SG-3、SG-6、SX-6 系列交換器皆支援)
Tim 的手機可以連接到 EAP 的無線網路,但無法從路由器拿到 IP 位址。經排查,EAP無法取得 IP 位址。由於 EAP 直接將 DHCP 封包轉傳給路由器,接在交換器的 PC 預設無法抓包。因此,我們需要透過連接埠鏡像抓取並啟用 Port1 的上傳和下載的流量封包。
1)前往「設備」,然後點擊交換器以載入「詳細資料」視窗。然後點擊 連接埠 。
2)選擇 PC 與交換器連接的 LAN4(連接埠 4)。然後點選 編輯 按鈕。
3)設定連接埠鏡像的基本參數:
- 啟用 覆蓋設定檔。
- 啟用 Mirroring 鏡像。
- 將所選連接埠指定為 Port1(連接路由器)。
- 最後點選「套用」。
4)成功套用連接埠鏡像後,您會看到 Port4 旁邊有一個小眼睛形狀的圖示。
5)測試驗證:
通常情況下,PC 只能擷取對應交換器連接埠的上傳和下載流量。但如果抓包數據中包含其他連接埠的數據,例如無線用戶端到外部網路或閘道的數據,則表示交換器的連接埠鏡像功能已設定成功。
Tim 使用上述交換器連接埠鏡像設定並且成功擷取了以下封包。觀察後,EAP 僅發送 DHCP Discover 封包,但沒有接收其他封包,例如 DHCP Offer。這表示路由器沒有為 EAP 指派 IP 位址。(頂部欄位指令「dhcp」通常用於過濾與動態主機設定協定相關的資料包。)
Tim 仔細查看了一下,發現自己無意間關閉了路由器的 DHCP 服務。一旦他重新調整設定,就成功獲得了下面的取得 DHCP IP 的過程。