網路基礎

第七章:網路診斷與工具

為什麼需要診斷工具?

「網路連不上」、「網站很慢」是很常見的狀況,但原因可能出在很多地方:本機設定、區域網路、DNS、路由路徑、遠端伺服器本身……診斷工具的作用,就是幫助我們一步步縮小範圍,找出問題到底卡在哪一段。

ping:測試連線是否暢通

ping example.com
ping 8.8.8.8

ping 會送出封包並等待回應,藉此確認:

  • 對方主機是否可達
  • 來回的延遲時間(RTT)大概是多少
  • 是否有封包遺失

如果 ping IP 位址正常,但 ping 網域名稱失敗,問題很可能出在 DNS

traceroute:查看路徑

如前一章介紹,traceroute(Windows 為 tracert)可以顯示封包經過的每一個節點,幫助判斷「卡在哪一段」。

nslookup / dig:查詢 DNS

nslookup example.com
dig example.com

可以查詢一個網域對應的 IP 位址,也能查詢其他類型的 DNS 紀錄(例如 MX 紀錄對應郵件伺服器)。如果懷疑是 DNS 設定問題,這兩個工具是第一線檢查項目。

查看本機網路設定

  • Linux / macOSip addr(或舊版 ifconfig)查看 IP、ip route 查看路由表
  • Windowsipconfig /all

確認自己的 IP、子網路遮罩、預設閘道、DNS 伺服器是否正確,是排查的第一步。

netstat / ss:查看連線狀態

ss -tunlp     # 查看目前監聽中的 Port 與連線

可以用來確認「某個服務是否真的有在監聽某個 Port」,這在排查「服務啟動了但連不上」時特別有用。

簡單的排查順序建議

  1. ping 本機的預設閘道——確認區域網路是否正常
  2. ping 公用 DNS(例如 8.8.8.8)——確認對外連線是否正常
  3. ping 網域名稱——確認 DNS 解析是否正常
  4. traceroute 目的地——確認路徑中是否有異常的節點
  5. 檢查目的服務的 Port 是否真的有在監聽

小結

這幾個工具不需要死背指令參數,重點是建立一套排查順序:從「自己」到「區網」到「對外」到「DNS」到「目的服務」,逐層縮小範圍,問題通常就會浮現。