緯育 2026-0314.2
出自頂極製作所
PING
本次課程以 Ping 與 ICMP 進行網路診斷為主軸,結合 Wireshark 實作從 frame、Ethernet、IPv4 到 ICMP 與 data 的逐層解析,並延伸觀察 ARP 在區域網路中的角色與觸發時機。內容涵蓋封包生成與回覆流程、回應時間(ms)與 TTL 的意義與推論、Ethernet Frame、IP Header、ICMP Header 的欄位細節與作用、不同作業系統(Windows、macOS、Linux)在 Ping 指令與行為上的差異、Wireshark 的介面與分析功能(時間戳、介面識別、顏色規則、標記/忽略、Bytes/ASCII 顯示、Time Shift),以及使用 ARP 查表與清表、Windows 防火牆設定以啟用 ICMPv4 回覆的實務流程。
課程安排完整練習:查詢 Gateway、設定指令、啟動 Wireshark 擷取、執行 Ping(示例四次往返共八個封包)、停止並分析,並在 LAN 情境中以清除 ARP 快取後的 Ping 驗證兩則 ARP(廣播與回覆)的預期行為,確保學員將實務診斷與協定層細節連結。
Ping 與 ICMP 的基礎概念與用途
- Ping 作為基本診斷工具
- 使用 ICMP Echo Request(Type=8)與 Echo Reply(Type=0)進行「我問你、你回我」的互動模型。
- 典型診斷目標:自身 IP、Gateway、他人/服務主機。不同目標代表不同層面的檢查(本機堆疊、到閘道連通性、端到端可達性)。
- ICMP 類型與回應
- Type/Code 可辨識回覆與錯誤;TTL 歸零時路由器可能回傳 ICMP Destination Unreachable 等訊息。
- 回應時間與 TTL 的意義
- ms 延遲由作業系統記錄(非封包欄位)。TTL 每經過一個路由器扣 1,至 0 丟棄;可用回覆 TTL 推論跳數、作業系統預設 TTL與拓樸鄰近性。
- 以延遲與 TTL 共同推論壅塞、線路/路由問題。
- 作業系統差異
- Windows 的 Ping 參數以「/?」查詢,常見 -t、-a;預設執行固定次數。macOS/Linux 預設持續執行,需 Ctrl+C 停止。不同系統的 ICMP Data 內容可能不同(如 Windows 常見「ABCDEFG」)。
Wireshark 基本視圖、顏色規則與協定堆疊
- 詳細視圖與 Bytes 對應:點選 ICMP、IP、Ethernet、frame 層可在右側 Hex/Bytes 對應框選各層範圍,協助核對欄位與長度(如 Total Length)。
- frame 層欄位與時間顯示:Interface ID、Encapsulation Type、Arrival Time/UTC/Epoch、捕獲序號與大小;可使用 Time Shift 調整顯示位移(一般分析少用)。
- 封包標記與忽略:Marked/Ignored 便於聚焦分析。
- Coloring Rules:預設顏色代表社群慣用語義(如 TCP RST、ICMP 等),建議不修改;可在 View > Coloring Rules 檢視與新增自訂規則。
- 協定堆疊:Ethernet > IP > ICMP > Data;ASCII 顯示更清楚呈現載荷。
乙太網路(Ethernet)Frame 結構與 MAC 辨識
- Ethernet II(DIX 2.0):preamble、SFD、目的/來源 MAC(6 bytes)、Type(0x0800 表 IPv4)、FCS。IEEE 802.3 將 Type 改為 Length,實務多採 Ethernet II。
- Wireshark 可顯示 MAC 前 3 碼(OUI)對應廠商,以快速辨識設備類型。
IPv4 Header 詳解與驗證
- Version=4;IHL 常見 20 bytes(無 Options)。
- DS(DiffServ)多由中間設備設定,端主機通常為 0。
- Total Length:包含 Header 與 Data;可於 Bytes 視圖核對實際長度(示例 60 bytes)。
- Identification:封包生成順序遞增;分片時所有分片共享相同 Identification。
- Flags/Fragment Offset:指示分片狀態與位移。
- TTL:每過路由器扣 1;回覆封包若 TTL 未扣減(例如 255),可推論對端在同一子網/鄰近位置。
- Protocol:ICMP=1。
- Header Checksum:可在偏好設定逐協定啟用驗證;過度啟用可能影響效能。
ICMP Header 與 Data 內容
- Type/Code:Echo Request=8/0,Echo Reply=0。
- Checksum、Identifier、Sequence Number:用於配對 request/reply 與統計次序。
- Data:各平台填入內容可能不同;多數設備會原樣回覆請求的 data。可據 ASCII 顯示比對確認往返關聯與設備處理策略。
ARP 在區域網路中的角色與觸發
- 位址與網段判定:主機以自身子網遮罩計算並比較目標是否同網段。
- 同網段:需取得目標 MAC;未知時發送 ARP Request(EtherType=0x0806,Operation=1),收到 ARP Reply(Operation=2)後以該 MAC 封裝傳送。
- 不同網段:封包送至 Gateway;可能詢問/使用 Gateway 的 MAC。
- ARP 欄位:Hardware Type(Ethernet)、Protocol Type(IPv4)、HLEN=6、PLEN=4、Sender/Target 硬體/協定位址、Operation。
- 觸發條件:同網段且未知對方 MAC;若 ARP 快取已存在則不再發送。
Windows 實務操作:ARP/ICMP與防火牆
- ARP 快取:arp -a 檢視;以系統管理員執行 arp -d * 清空以強制觀察 ARP。
- Ping 與擷取預期:清表後 Ping 預期看到兩則 ARP(廣播與回覆);即便 Windows 某些版本不回覆 ICMP Echo,ARP 互動仍可見。
- 防火牆策略(被 Ping 端):首選啟用 ICMPv4 入站規則(進階防火牆 → 入站規則 → 允許 ICMPv4 Echo),不建議全面關閉防火牆;測試後恢復原設定。
- 介面與組態:私人/公用網路為不同組態檔;版本差異可能影響導覽位置。
封包流程、數量預期與多介面捕獲
- 封包往返:本機發送 Echo Request,對端回 Echo Reply;本機計算往返延遲(例 3–4 ms)。
- 封包數量預期:執行 4 次 Ping,理論擷取到 8 個封包(4 出、4 回);若少於預期需調查遺失或過濾原因。
- 多介面捕獲:在 Capture 設定按住 Ctrl 可同時選取多張網卡,觀察 Interface ID 與來源差異;無法在擷取頁面直接加選。
- 過濾與視野管理:Display Filter 精準篩選,必要時以 Ignored 暫時隱藏不相干封包。
實務診斷與應對
- 外包/客服常以簡單 Ping 判定並更換設備;若能提供更深入路由證據,較可能獲得專業處理。
- 建立心中預期與實測比對:觀察 ms、TTL、封包數量與內容,推論壅塞、速度、路由行為、封包遺失,避免被過度簡化結論誤導。