為什麼需要診斷工具?
「網路連不上」、「網站很慢」是很常見的狀況,但原因可能出在很多地方:本機設定、區域網路、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 / macOS:
ip addr(或舊版ifconfig)查看 IP、ip route查看路由表 - Windows:
ipconfig /all
確認自己的 IP、子網路遮罩、預設閘道、DNS 伺服器是否正確,是排查的第一步。
netstat / ss:查看連線狀態
ss -tunlp # 查看目前監聽中的 Port 與連線
可以用來確認「某個服務是否真的有在監聽某個 Port」,這在排查「服務啟動了但連不上」時特別有用。
簡單的排查順序建議
ping本機的預設閘道——確認區域網路是否正常ping公用 DNS(例如8.8.8.8)——確認對外連線是否正常ping網域名稱——確認 DNS 解析是否正常traceroute目的地——確認路徑中是否有異常的節點- 檢查目的服務的 Port 是否真的有在監聽
小結
這幾個工具不需要死背指令參數,重點是建立一套排查順序:從「自己」到「區網」到「對外」到「DNS」到「目的服務」,逐層縮小範圍,問題通常就會浮現。