用 Linux 三行指令搞掂網絡排錯:ping、traceroute、nslookup 實戰教學

用 Linux 三行指令搞掂網絡排錯:ping、traceroute、nslookup 實戰教學 網絡一出事,好多新手第一時間就係開 ticket 搵 IT。但其實好多網絡問題,用 Linux 入面三個最基本嘅指令已經可以自行判斷到七成原因。今次同大家由淺入深,示範點樣用 ping、traceroute、nslookup 呢三把「瑞士軍刀」做網絡排錯(network troubleshooting...

用 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教學 #技術分享 #防火牆