用 Linux 三行指令搞掂網絡排錯:ping、traceroute、nslookup 實戰教學
網絡一出事,好多新手第一時間就係開 ticket 搵 IT。但其實好多網絡問題,用 Linux 入面三個最基本嘅指令已經可以自行判斷到七成原因。今次同大家由淺入深,示範點樣用 ping、traceroute、nslookup 呢三把「瑞士軍刀」做網絡排錯(network troubleshooting)。
第一步:ping 睇下通唔通
ping 係最基礎嘅連線測試,佢會向目標主機送出 ICMP Echo Request,睇下有冇回覆。最基本用法係咁:
ping -c 4 google.com
`-c 4` 代表淨係送 4 個封包就停,唔加嘅話佢會一直 ping 落去。輸出會話你知延遲(latency)同有冇 packet loss。如果見到 `100% packet loss`,代表完全唔通,可能係目標主機冧咗、防火牆擋 ICMP,或者根本冇路由。
有一個好實用嘅參數係 `-i`,可以自訂 ping 嘅間隔:
ping -i 0.2 192.168.1.1
呢個會每 0.2 秒送一個封包,適合做壓力測試睇下有冇間歇性斷線。
第二步:traceroute 追蹤路徑
如果 ping 得通但速度慢,或者 ping 唔通但又唔知係邊一 hop 出事,就要用 traceroute。佢會逐個路由器(router)列出封包經過嘅路徑:
traceroute google.com
輸出每一行代表一個 hop,通常會有 IP 同三組延遲時間。如果見到某一行係 `* * *`,代表嗰個節點唔回應,可能係防火牆食咗 ICMP,亦可能係真正嘅瓶頸位。喺 macOS 上面個指令叫 `traceroute`,Linux 部分發行版要用 `traceroute -I` 走 ICMP 或者 `traceroute -T` 走 TCP,因為預設 UDP 好多時會被擋。
第三步:nslookup 查 DNS
好多「上唔到網」嘅問題,其實根源係 DNS 解唔到。nslookup 可以幫你查域名對應嘅 IP:
nslookup molious.com
如果想指定用邊個 DNS server 去查,可以咁:
nslookup molious.com 8.8.8.8
呢個會用 Google 嘅公共 DNS 去查,可以幫你判斷係咪你自己個 DNS server 有問題。如果預設 DNS 查唔到但 8.8.8.8 查到,咁好大機會係你個 DNS 設定錯咗。
進階:dig 做更詳細嘅 DNS 排錯
雖然今次主題係 nslookup,但順帶提一提 dig,因為佢係 nslookup 嘅進階版,輸出更詳細:
dig molious.com ANY
`dig` 會顯示 TTL、權威伺服器、MX record 等更多資料,做電郵排錯(MX record)時特別有用。
實戰流程:一次完整嘅排錯順序
建議嘅排錯順序係咁:
1. ping 127.0.0.1 → 測試本機網絡堆疊
2. ping 自己個 gateway IP → 測試內網連線
3. ping 8.8.8.8 → 測試出唔出到街(純 IP)
4. nslookup google.com → 測試 DNS 解唔解到
5. ping google.com → 測試域名連線
如果第 4 步失敗但第 3 步成功,就係 DNS 問題;如果第 2 步都失敗,就係內網或者網卡問題。呢個順序可以好快縮窄問題範圍。
總結
🔗 參考資料:NVD NIST 漏洞資料庫
呢三個指令雖然古老,但到今日仍然係網絡排錯嘅基石。唔好一味靠圖形介面工具,學識呢幾行指令,遇到問題時你可以更快定位到根源,唔使等 IT 回覆先知道發生咩事。下次網絡出事,試下自己行一次呢個流程先。
#Linux #IT教學 #技術分享 #防火牆



