利用 PING 來檢查網路狀況

 

我們利用 PING 來檢查網路狀況,以下是一般檢查網路狀況的流程,其實並沒有一定的順序,要看當時的網路狀況如何。
 
PING 對方 IP 沒回應,若知道對方 Router 的 IP,則 PING 對方的 Router,若 Router 可 PING 得通,那麼表示對方可能目前沒有連上網路,或是其內部網路的問題。
如果也 PING 不到對方 Router,那麼就 PING 自己的 Router (通常是 Gateway),如果 PING 得通,則表示是 Router 和 Router 間的問題,也有可能是您的通訊閘 (Gateway) 沒設好,請檢查相關設定。
如果連自己端的 Router 都 PING 不到,那麼就試試 PING 同網段的朋友,如果會通,而您朋友也 PING 不到 Router,那麼可能是你們這段到 Router 的線路有問題,也有可能是 Router 掛了(當機)。
如果也 PING 不到朋友或同事,請先 PING 自己的 IP,如果 PING 得通,那麼表示您到 HUB 的這段線路有問題,請檢查 HUB 上相關的燈號是否有亮,或是網路接頭有沒有脫落。
如果連自己的 IP 都 PING 不到,那麼請 PING 127.0.0.1 這個 Loopback 位址,如果可以通,那麼請檢查您網路的相關設定是否正確。
如果連 127.0.0.1 都 PING 不到,那表示這張網卡根本沒有啟動,請檢查驅動程式是否裝好,裝置是否有衝突。
若無法正常連至網站,這時候您可以 PING 該網址,如
PING www.kimo.com.tw 看是否會通,如果不通時,請 PING 它網站的 IP [210.59.144.191](或是在瀏覽器中直接輸入網站 IP),如果可以通,表示您的 DNS 設定有問題,請檢查相關設定;當然,也有可能是您的 DNS Server 掛了,可以 PING 您的 DNS Server 看看。

  當然,可能還有許多狀況是 Arjin 沒列出來的,不過大致上檢查網路的連線狀況就是這樣,哪天您的網路不通時,您可以自己試著找出問題喔!


ping 其語法結構如下:
ping [-t] [-n count] [ength] [-f] [-t ttl] [-v tos] [-r count]
[-s count] [-j computer-list] [-k computer-list] [-w timeout] destination-list

-t:Ping到指定的電腦,直到插斷發生。
-a:將位址解析為電腦名稱。
-n count:傳送count所指定的ECHO封包數,預設值為4。
-l length:傳送內含length所指定之資料量的ECHO封包。預設值為32位元組,最大值為65,527。
-f:傳送封包中的「Do not Fragment(不分散)」旗標。路由上的閘道不會分散該封包。
-i ttl:將[存活時間]欄位設定為ttl所指定的直。
-v tos:將[服務類型]欄位設定為tos所指定的值。
-r count:將輸出封包及傳回封包的路由紀錄[紀錄路由]欄位中。count可指定的最小值為1台電腦,而最大值為9台電腦。
-s count:指定count所指定之躍點數的時間載記。
-j computer-list:利用computer-list所指定之電腦清單的路徑來傳送封包。中介閘道可隔開(鬆散路由來源)連續的電腦。IP准許的最大數目為9。
-k computer-list:利用computer-list所指定之電腦清單的路徑來傳送封包。中介閘道(嚴密路由來源)無法隔開練續的電腦。IP准許的最大數目為9。
-k timeout:指定遇時間隔(以毫秒計)。
destination-list:指定要ping到的遠端電腦。

ICMP

ICMP (Internet Control Message Protocol) 是一種網路通訊協定,由於 TCP/IP 是一個開放式的網路環境,它的變動性極高,在任何時候您都無法確定對方是否連接在網路上,所以在傳遞資料封包之前,要確定對方是存在的,而且路由路徑是可靠的,是一件非常重要的事。舉例來說,就如同您打電話給朋友,當電話被接起來,您必須先確定喂∼請問是×××嗎?」當對方回答「是的,我是,您是○○○嗎?」「是的」,在你們互相確認對方身份之後,才會開始傳遞訊息

  ICMP 的目的﹐就是讓我們能夠檢測網路的連線狀況﹐也能確保連線的準確性﹐其功能主要有﹕

  • 偵測遠端主機是否存在。
  • 建立及維護路由資料。
  • 重導資料傳送路徑。
  • 資料流量控制。

  ICMP 是個非常有用的協定﹐尤其是當我們要對網路連線狀況進行判斷的時候,而PING 就是一個 ICMP 協定,另外,Tracert 和 Traceroute 也同屬於 ICMP 的協定。

  ICMP 在溝通之中使用不同的訊息讓機器來識別,如下表:

型別 訊   息 代    表    意    思
0 Echo Reply 是一個回應信息。
3 Destination Unreachable 表示目的地不可到達。
4 Source Quench 當使用ICMP出現問題時,用來竭止來源繼續發送訊息。
5 Redirect 用來重新導向路由路徑。
11 Time Exceeded for a Datagram 當資料封包在某些路由現象中逾時,可以要求來源忽略該封包。
12 Parameter Problem on a Datagram 當一個ICMP封包重複著之前的錯誤時,會回覆來源主機關於參數錯誤的訊息。
13 Timestamp Request 要求對方送出時間訊息,用以計算路由時間的差異,以滿足同步性協定的要求。
14 Timestamp Replay 此訊息純粹是回應Timestamp Request用的。
15 Information Request RARP協定應用之前,此訊息是用來在開機時取得網路信息。(已停用)
16 Information Reply 用以回應Information Request訊息。
(已停用)
17 Address Mask Request 這訊息是用來查詢子網路mask設定信息。
18 Address Mask Reply 回應子網路mask查詢訊息的。

ICMP 中,會以不同的 error code 來回應各種錯誤信息,如下表:

訊息 代      表      意      思
0 Network Unreachable
1 Host Unreachable
2 Protocol Unreachable
3 Port Unreachable
4 Fragmentation Needed and DF set
5 Source Route Failed
6 Destination network unknown
7 Destination host unknown
8 Source host isolated
9 Communication with destination network administratively prohibited
10 Communication with destination host administratively prohibited
11 Network unreachable for type of service
12 Host unreachable for type of service