在 OpenWrt 上進行封包擷取與分析,是診斷網路問題與驗證資料流的重要手段。透過 tcpdump 搭配 Wireshark,我們可以掌握路由器上的實際封包內容,協助排解異常或優化設定。
本教學將說明如何在 OpenWrt 使用 tcpdump 擷取封包、下載至本機,並以 Wireshark 進行分析。適合網管人員、開發者或對網路封包有興趣的使用者快速上手。
一、環境準備
在開始封包擷取與分析前,先確保以下條件都已準備完成:
- OpenWrt 路由器:已成功安裝 OpenWrt 並具備管理權限。
- tcpdump 工具:若尚未安裝,可以透過 opkg 安裝。
opkg update
opkg install tcpdump
- 本機電腦:已安裝 Wireshark 並可以正常啟動。
- SSH 工具:如 ssh 指令或 PuTTY,用於連線至 OpenWrt。
二、在 OpenWrt 上使用 tcpdump 擷取封包
使用 tcpdump 擷取封包時,建議將封包存成檔案格式,方便後續傳輸與分析。以下為範例指令:
tcpdump -i br-lan -w /www/web/test.pcap
說明:
-i br-lan:指定監聽的介面(此處為 LAN 介面,可依需求調整為 WAN 介面或其他介面等)。-w /www/web/test.pcap:將封包輸出為 pcap 格式檔案。
如下圖所示:
其中可以透過 ifconfig 或 ip addr 指令確認要擷取的網路介面。如下:
ip addr
ifconfig
可透過以下指令結束 tcpdump,以完成封包擷取。
kill -9 PID
我們需要使用以下指令來查找 tcpdump 程式的 PID。
ps | grep tcpdump
如下圖所示:
根據上圖所示,tcpdump 的 PID 為 10958,因此可執行下列指令以結束 tcpdump。
三、將封包檔案下載至電腦
封包擷取完成後,請登入路由器的使用者介面(UI)。
登入 UI 後,將網址列修改為封包擷取檔案的名稱,然後按下 Enter 鍵即可開始下載。
四、使用 Wireshark 開啟並分析封包
下載完成後,開啟 Wireshark 並載入剛剛擷取的封包檔案:
Wireshark 可提供封包詳細資訊,包括來源/目的 IP、協定類型等,有助於診斷網路問題或驗證封包行為。
