用 Linux 指令快速排查網絡問題:ping、traceroute、nslookup 實戰教學

# 用 Linux 指令快速排查網絡問題:ping、traceroute、nslookup 實戰教學 做 IT 嘅朋友,成日都會遇到「個網站好慢」「上唔到網」「DNS 解析唔到」呢類投訴。與其估估下,不如學識用幾個 Linux 指令,幾分鐘內就揾到問題根源。今日就同大家分享三個最常用嘅網絡排查指令,配埋實際例子,包你睇完即刻用得。 ## 點解要學 ping 指令做網絡排查 `ping` 係最基礎但...

用 Linux 指令快速排查網絡問題:ping、traceroute、nslookup 實戰教學 - 文章重點速覽 infographic

# 用 Linux 指令快速排查網絡問題:ping、traceroute、nslookup 實戰教學

做 IT 嘅朋友,成日都會遇到「個網站好慢」「上唔到網」「DNS 解析唔到」呢類投訴。與其估估下,不如學識用幾個 Linux 指令,幾分鐘內就揾到問題根源。今日就同大家分享三個最常用嘅網絡排查指令,配埋實際例子,包你睇完即刻用得。

## 點解要學 ping 指令做網絡排查

`ping` 係最基礎但最有用嘅指令,佢用 ICMP 協議去測試一部機係咪「通」。當你懷疑網絡斷線,第一時間就係 ping 個目標。

# 基本用法:ping 一個 IP 或域名
ping 8.8.8.8

# 指定次數(ping 4 次就停)
ping -c 4 google.com

# 指定間隔時間(每 2 秒 ping 一次)
ping -i 2 192.168.1.1

睇返輸出,最緊要係睇 `time=` 後面個數值,呢個就係延遲(latency)。如果 `time` 好高(例如超過 100ms),代表網絡慢;如果出現 `Request timeout` 或者 `Destination Host Unreachable`,就代表根本通唔到。

一個實用技巧:先 ping 自己部機嘅 gateway(通常係 `192.168.1.1` 或者 `10.0.0.1`),再 ping 出面嘅 IP(例如 `8.8.8.8`)。如果 gateway 通但出面唔通,問題就喺 router 或者 ISP 嗰邊。

## 用 traceroute 追蹤數據包行邊條路

`ping` 只係話你知「通唔通」,但 `traceroute` 可以話你知數據包由你部機去到目標,中間經過邊啲節點,邊一 hop 開始慢或者斷。

# 追蹤去 google 嘅路徑
traceroute google.com

# 用 ICMP 代替 UDP(有時 UDP 會被防火牆擋)
traceroute -I google.com

# 限制最多跳數
traceroute -m 15 google.com

輸出會逐行顯示每一 hop 嘅 IP 同延遲。如果你見到某一 hop 開始出現 `* * *`(即係冇回應),通常代表嗰個節點有問題,或者佢唔回應 ICMP。留意延遲突然飆升嗰一 hop,就係網絡樽頸所在。

## 用 nslookup 檢查 DNS 解析問題

好多「上唔到網」嘅問題,其實係 DNS 解析唔到,而唔係網絡真係斷。`nslookup` 就係用嚟查域名對應嘅 IP。

# 查一個域名嘅 IP
nslookup google.com

# 用指定 DNS server 查(例如用 Google 嘅 8.8.8.8)
nslookup google.com 8.8.8.8

# 反向查詢(IP 查域名)
nslookup 8.8.8.8

如果 `nslookup` 回傳 `server can’t find` 或者 `NXDOMAIN`,就代表 DNS 解析失敗。呢個時候可以試下改用其他 DNS server(例如 `8.8.8.8` 或者 `1.1.1.1`)再查一次,如果轉咗就查到,即係你原本用緊嗰個 DNS server 有問題。

## 三個指令一齊用嘅排查流程

實戰上,我會跟住呢個順序去查:

1. **先 ping gateway** — 確認本機網絡卡同內網係咪正常
2. **再 ping 出面 IP**(例如 `8.8.8.8`)— 確認出唔出到街
3. **nslookup 查域名** — 確認 DNS 正唔正常
4. **traceroute 追蹤** — 揾出邊一 hop 出事

呢個流程可以幫你喺幾分鐘內鎖定問題係喺「本機」「內網」「router」「ISP」定係「DNS」,唔使再盲摸摸。

## 總結

🔗 參考資料:NVD NIST 漏洞資料庫

`ping`、`traceroute`、`nslookup` 呢三個指令,係每個 IT 人都應該隨身攜帶嘅「網絡急救三寶」。佢哋唔需要安裝任何額外軟件,Linux、macOS 甚至 Windows(用 `tracert` 同 `nslookup`)都有內置。下次再遇到網絡投訴,唔好再靠估,直接開 terminal 用呢三個指令,幾分鐘就揾到答案。