ping 回的是 ICMP 往返,不等於應用程式一定正常;traceroute 顯示的是探測路徑,也不保證每一跳都會回。要同時測閘道、DNS、外部 IP 與實際服務。
動手前:不要用過高頻率、超大封包或長時間探測未授權的外部主機。中間路由器可能限速 ICMP,單一 hop 丟包不能直接判定故障。
ping 基本測試
Linux 送 5 次 pingLinux
ping -c 5 1.1.1.1固定次數,適合留下簡短結果。
macOS 送 5 次 pingmacOS
ping -c 5 1.1.1.1和常見 Linux 用法相同。
Windows 送 5 次 pingWindows CMD
ping -n 5 1.1.1.1Windows 次數參數是 -n。
測主機名稱跨平台
ping example.com同時包含 DNS 解析;要分離 DNS 問題可再測 IP。
Linux 強制 IPv4Linux
ping -4 -c 5 example.com不同 ping 實作支援度依版本。
Linux 強制 IPv6Linux
ping -6 -c 5 example.com需有 IPv6 DNS 與路由。
Linux 指定封包內容大小Linux
ping -c 5 -s 1400 1.1.1.1不是完整 frame 大小;較大封包可協助排查 MTU。
Windows 不允許分片測 MTUWindows CMD
ping -f -l 1472 1.1.1.11472 加 IPv4 ICMP/IP header 常對應 1500 MTU;路徑與協定會影響。
Linux 指定來源介面Linux
ping -I eth0 -c 5 1.1.1.1介面名稱換成實際值。
每秒帶時間記錄Linux
ping -D -i 1 -c 10 1.1.1.1-D 為 Linux iputils 常見功能,macOS 不同。
traceroute/tracert
Linux/macOS 看路徑Linux/macOS
traceroute example.com預設探測方式依實作不同。
Windows 看路徑Windows CMD
tracert example.comWindows 使用 tracert。
不做反向 DNSLinux/macOS
traceroute -n 1.1.1.1加快顯示並避免名稱解析干擾。
Windows 不解析名稱Windows CMD
tracert -d 1.1.1.1只顯示 IP。
Linux 使用 ICMP probeLinux traceroute
traceroute -I example.com可能需要較高權限;防火牆行為不同。
Linux 使用 TCP 443 probeLinux traceroute
traceroute -T -p 443 example.com支援度依 traceroute 套件。
mtr 持續觀察
互動式 mtrLinux/macOS(需安裝)
mtr example.com按 q 離開;先觀察一段時間。
產生 20 次報表Linux/macOS(需安裝)
mtr -rwzc 20 example.com報表模式適合附在工單,仍要遮蔽內網名稱。
只顯示 IPLinux/macOS(需安裝)
mtr -n -rwzc 20 1.1.1.1避免 DNS 查詢影響。
使用 TCP 443mtr
mtr --tcp --port 443 -rwzc 20 example.com需看當版 mtr 是否支援;更貼近 HTTPS 路徑。
怎麼確認有做對
- 同時測本機閘道、ISP 下一跳、外部 IP 與服務 FQDN。
- 至少在正常與異常時段各留一份結果。
- 用 curl 或 Test-NetConnection 驗證實際 TCP/HTTP 服務。
常見錯誤
- 把某一跳不回 ICMP 當成那一跳斷線。
- 只 ping 公網,沒有先測 LAN gateway。
- 把平均值當全部,忽略抖動與尖峰。
- 以 traceroute 單次路徑推論所有方向的實際路由。
版本與官方文件
參數會隨工具版本與作業系統實作改變。正式環境先用 --help、-h 或系統內建說明確認,再以當版官方文件為準。