Ping是潛水艇人員的專用術語,表示回應的聲納脈沖,在網絡中 Ping 是一個十分好用的 TCP/IP 工具。它主要的功能是用來檢測網絡的連通情況和分析網絡速度。可以利用 PING 命令檢查網絡連通狀態,ping命令是基於ICMP。
這里先介紹ICMP。ICMP是網絡層協議,一個新搭建好的網絡,往往需要先進行一個簡單的測試,來驗證網絡是否暢通;但是IP協議並不提供可靠傳輸。如果丟包了,IP協議並不能通知傳輸層是否丟包以及丟包的原因。所以我們就需要一種協議來完成這樣的功能–ICMP協議
1.ICMP協議的功能主要有:
確認IP包是否成功到達目標地址
通知在發送過程中IP包被丟棄的原因
2.常見的ICMP報文:
相應請求
目標不可達,源抑制和超時報文
時間戳請求
3.ICMP大概分為兩類報文:
一類是通知出錯原因 ;一類是用於診斷查詢
類型及含義如下:
類型(十進制) 內容
0 回送應答
3 目標不可達
4 原點抑制
5 重定向或改變路由
8 回送請求
9 路由器公告
10 路由器請求
11 超時
17 地址子網請求
18 地址子網應答
而相應請求用的ping操作中就包括了相應請求(類型字段值為8)和應答(類型字段值為0)ICMP報文。過程:一台主機向一個節點發送一個類型字段值為8的ICMP報文,如果途中沒有異常(如果沒有被路由丟棄,目標不回應ICMP或者傳輸失敗),則目標返回類型字段值為0的ICMP報文,說明這台主機存在
這里主要介紹ping之后返回信息的分析
1、Request timed out
這是大家經常碰到的提示信息,至少有下幾種情況 。
a)對方已關機,或者網絡上根本沒有這個地址:比如在主機 A 中 PING 192.168.0.7 , 或者主機 B 關機了, 在主機 A 中 PING 192.168.0.5 都會得到超時的信息。
b) 對方與自己不在同一網段內,通過路由也無法找到對方,但有對方確實是存在的,當然不存在也是返回超時的信息。
C) 對方確實存在,但設置了ICMP數據包過濾(比如防火牆設置)。 怎樣知道對方是存在,還是不存在呢, 可以用帶參數 -a 的 Ping 命令探測對方,如果能得到對方的 NETBIOS名稱,則說明對方是存在的,是有防火牆設置,如果得不到,多半是對方不存在或關機,或不在同一網段內。
d)錯誤設置 IP 地址 正常情況下,一台主機應該有一個網卡,一個 IP 地址,或多個網卡,多個 IP 地址(這些地址一定要處於不同的 IP 子網)。但如果一台電腦的“撥號網絡適配器” (相當於一塊軟網卡) 的 TCP/IP 設置中, 設置了一個與網卡 IP 地址處於同一子網的 IP 地址,這樣,在 IP 層協議看來,這台主機就有兩個不同的接口處於同一網段內。
當從這台主機Ping其他的機器時,會存在這樣的問題:
A、主機不知道將數據包發到哪個網絡接口,因為有兩個網絡接口都連接在同一網段。
B、主機不知道用哪個地址作為數據包的源地址。因此,從這台主機去 Ping 其他機器, IP層協議會無法處理,超時后, Ping 就會給出一個“超時無應答”的錯誤信息提示。但從其他主機 Ping 這台主機時,請求包從特定的網卡來,ICMP只須簡單地將目的、源地址互換,並更改一些標志即可,ICMP 應答包能順利發出,其他主機也就能成功 Ping通這台機器了。
2、Destination host Unreachable
(1). 對方與自己不在同一網段內,而自己又未設置默認的路由,比如上例中 A 機中不設定默認的路由,運行 Ping 192.168.0.1.4 就會出現“ Destination host Unreachable
(2)網線出了故障 這里要說明一下“ destination host unreachable ”和 “time out ”的區別,如果所經過的路由器的路由表中具有到達目標的路由, 而目標因為其他原因不可到達,這時候會出現“ time out ”,如果路由表中連到達目標的路由都沒有,那就會出現“destination host unreachable ”。
(3)Bad IP address 這個信息表示您可能沒有連接到 DNS服務器,所以無法解析這個IP 地址,也可能是 IP 地址不存在。
3、Source quench received
這個信息比較特殊,它出現的機率很少。它表示對方或中途的服務器繁忙無法回應。
4、Unknown host——不知名主機
這種出錯信息的意思是,該遠程主機的名字不能被域名服務器( DNS)轉換成 IP 地址。故障原因可能是域名服務器有故障,或者其名字不正確,或者網絡管理員的系統與遠程主機之間的通信線路有故障。
5、No answer——無響應, 這種故障說明本地系統有一條通向中心主機的路由,但卻接收不到它發給該中心主機的任何信息。故障原因可能是下列之一:中心主機沒有工作;本地或中心主機網絡配置不正確;本地或中心的路由器沒有工作;通信線路有故障;中心主機存在路由選擇問題。
6、Ping 127.0.0.1 :127.0.0.1 是本地循環地址 如果本地址無法 Ping 通,則表明本地機 TCP/IP 協議不能正常工作。
7、no rout to host : 網卡工作不正常。
8、transmit failed,error code:10043 網卡驅動不正常。
9、unknown host name:DNS 配置不正確。