Wireshark是個實用的網路工具,通常沒事不出動,出現就是有事的時候,有事的時候通常比較緊急,因此,平常練習Wireshark,在網路除錯上可以得到很大的幫助。
在路由層面的除錯通常不用讓Wireshark出動,而路由層面之上就會用Wireshark去收集Packets,通常以Session爲分組。
瞭解「正常的Session互動過程」,是解讀Packets前必需知道的知識。像是DHCP過程、TCP過程等。
如果使用過Wireshark,錄下的封包琳琅滿目,不只偏失重點,也造成難以入門。
首先學會如何只錄特定封包,這對於已經有方向的除錯會很有幫助。
ChatGPT的回答
https://chatgpt.com/share/6769d02b-bb80-8003-93c0-6fbd358c7407
如果只要錄ARP封包
ARP封包很重要,可以用於判讀該區域網路有什麼設備,也可以搜尋接錯VLAN的設備。
先在Capture Filters加入一個項目並且設定所要過濾的條件。






保存封包檔後,重新開啓,也能確認只有符合過濾條件的封包被記錄。
如何快速上手過濾條件?
一般人在一開始不太清楚filter的規則,我們可以先錄封包,然後對想要應用在filter的值,點擊右鍵 > Apply as Filter,查看若要以此值過濾要如何輸入。



常用顯示過濾器範例:
過濾特定 IP 位址的封包:ip.addr == 192.168.1.1
過濾特定來源 IP 的封包:ip.src == 192.168.1.1
過濾特定目的地 IP 的封包:ip.dst == 192.168.1.1
過濾特定協定的封包(例如 HTTP):http
過濾特定連接埠的封包:tcp.port == 80
過濾封包大小小於 400 位元組的封包:frame.len < 400
組合過濾條件:
AND 運算子(且):
語法:&& 或 and
範例:過濾來源 IP 為 192.168.1.1 且使用 HTTP 協定的封包:ip.src == 192.168.1.1 && http
OR 運算子(或):
語法:|| 或 or
範例:過濾來源或目的地 IP 為 192.168.1.1 的封包:ip.src == 192.168.1.1 || ip.dst == 192.168.1.1
NOT 運算子(非):
語法:! 或 not
範例:過濾非 HTTP 協定的封包:!http