PING (Packet Internet Groper) 是基於 ICMP (Internet Control Message Protocol) 回應請求/回應機制的網路測試工具。它發送 ICMP Echo Request (Type 8) 封包給目標主機,目標若可達且允許回應,會回傳 ICMP Echo Reply (Type 0)。透過往返時間 (RTT) 與封包損失率,快速判斷連通性、延遲與鏈路品質。
| 功能 | Windows | Linux / macOS | 說明 |
|---|---|---|---|
| 指定次數 | ping -n 10 1.1.1.1 | ping -c 10 1.1.1.1 | 發送 10 次後自動停止 |
| 持續測試 | ping -t 1.1.1.1 | ping 1.1.1.1 (預設持續) | Ctrl+C 停止 |
| 設定封包大小 | ping -l 1472 1.1.1.1 | ping -s 1472 1.1.1.1 | 測試 MTU (1472+28=1500) |
| 禁止分片 (DF bit) | ping -f -l 1472 1.1.1.1 | ping -M do -s 1472 1.1.1.1 | 配合二分法找 MTU |
| 設定 TTL | ping -i 64 1.1.1.1 | ping -t 64 1.1.1.1 | 追蹤跳數/測試迴路 |
| 指定來源 IP | ping -S 192.168.1.50 1.1.1.1 | ping -I eth0 1.1.1.1 | 多網卡/VPN 測試 |
| 解析主機名 | ping -a 1.1.1.1 | ping -a 1.1.1.1 | 顯示反向 DNS |
| IPv6 | ping -6 google.com | ping6 google.com / ping -6 | 測試 IPv6 連通 |
| 時間戳記 | — | ping -D 1.1.1.1 | 每行前加 Unix 時間戳 |
| 安靜模式 | — | ping -q -c 10 1.1.1.1 | 僅顯示統計摘要 |
Reply from 1.1.1.1: bytes=32 time=12ms TTL=53
│ │ │ │
│ │ │ └─ TTL (Time To Live) 剩餘跳數,初始常為 64/128/255
│ │ └─ RTT (Round Trip Time) 往返延遲,單位 ms
│ └─ 封包大小 (含 ICMP 標頭 8 bytes + IP 標頭 20 bytes)
└─ 回應來源 IP
統計摘要關鍵指標:
哪一步失敗,問題就在那一層。
# Windows
ping -f -l 1472 1.1.1.1 # 成功 → MTU ≥ 1500
ping -f -l 1460 1.1.1.1 # 失敗再調整...
# Linux
ping -M do -s 1472 1.1.1.1
最大成功封包大小 + 28 (IP+ICMP 標頭) = Path MTU。VPN、PPPoE、GRE 封裝常導致 MTU < 1500,造成大封包黑洞。
# 長時間監控
ping -t 1.1.1.1 > ping_log.txt (Win)
ping -D -i 0.2 1.1.1.1 | tee ping_log.txt (Linux, 0.2 秒間隔高解析度)
# 事後分析:用 Excel/脚本統計丟包率、RTT 分佈、抖動
tracert 1.1.1.1traceroute -I 1.1.1.1 (ICMP) 或 traceroute -T -p 80 1.1.1.1 (TCP SYN 繞過封鎖 ICMP 的節點)fping -a -g 192.168.1.0/24 2>/dev/nullmtr -rwzbc 100 1.1.1.1 結合 Ping + Traceroute,逐跳顯示丟包率與延遲hping3 -S -p 80 -c 5 1.1.1.1tcping、nmap -p 80、curl -I 驗證應用埠。Ping 是網管工具箱裡的「聽診器」——簡單、無所不在、資訊豐富。熟練掌握參數組合、分層診斷法、MTU 測試、長期監控與進階替代工具,能讓你在網路故障面前「聽得見、看得清、查得快」。下次遇到「網路慢、斷斷續續」,先跑個 mtr -rwzbc 100 目標,再決定要不要叫廠商。