ping的工作過程

2021-06-06 23:44:38 字數 3162 閱讀 7147

「ping」的幕後過程

我們以下面乙個網路為例:有 a、b、c、d 四台機子, 一台路由 ra,子網掩碼均為 255.255.255.0,預設路由為 192.168.0.1 1.在同一網段內 在主機 a 上執行「ping 192.168.0.5」後,都發生了些 什麼呢?

對 ping 後返回資訊的分析:

1.request timed out 這是大家經常碰到的提示資訊,很多文章中說這是對方 機器置了過濾 icmp 資料報,從上面工作過程來看,這是不 完全正確的,至少有下幾種情況。

(2)對方與自己不在同一網段內,通過路由也無法找 到對方,但有時對方確實是存在的,當然不存在也是返回超 時的資訊。

(3)對方確實存在,但設定了 icmp 資料報過濾(比如 防火牆設定)。 怎樣知道對方是存在, 還是不存在呢, 可以用帶引數 -a 的 ping 命令探測對方,如果能得到對方的 netbios 名稱, 則說明對方是存在的,是有防火牆設定,如果得不到,多半 是對方不存在或關機,或不在同一網段內。

(4)錯誤設定 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 位址不存在。

4.source quench received 這個資訊比較特殊,它出現的機率很少。它表示對方或 中途的伺服器繁忙無法回應。

5.unknown host——不知名主機 這種出錯資訊的意思是,該遠端主機的名字不能被網域名稱 伺服器(dns)轉換成 ip 位址。故障原因可能是網域名稱伺服器 有故障,或者其名字不正確,或者網路管理員的系統與遠端 主機之間的通訊線路有故障。

6.no answer——無響應 這種故障說明本地系統有一條通向中心主機的路由,但 卻接收不到它發給該中心主機的任何資訊。故障原因可能是 下列之一:中心主機沒有工作;本地或中心主機網路配置不 正確;本地或中心的路由器沒有工作;通訊線路有故障;中 心主機存在路由選擇問題。

7.ping 127.0.0.1:127.0.0.1 是本地迴圈位址 如果本位址無法 ping 通,則表明本地機 tcp/ip 協議不 能正常工作。

8.no rout to host:網絡卡工作不正常。

9.transmit failed,error code:10043 網絡卡驅動不正 常。

10.unknown host name:dns 配置不正確。

以上是我在「拼」(ping)的過程中,總結的一些經驗 技巧,希望能對大家的工作和學習有所幫助 ping 命令是我們日常網管工作中使用頻率最高的工具之一, 主是用來測試網路連線的。在實際平時解決網路故障的過程 中,一般應該遵循「先軟後硬」的步驟來進行。其中「軟」 就是指使用 ping 命令大概判斷出網路故障位置。

今天我們 就向大家介紹 ping 命令的三個典型應用。

一、驗證網絡卡工作狀態 ping 最簡單的乙個應用就是驗證網絡卡工作狀態是否正 常,這也是電腦出現不能上網等故障最簡單的判斷手段。 在命令提示符下輸入「ping 127.0.0.1」並回車,如果 返回四行「reply from 127.0.0.1: bytes=32 time<1ms ttl=128」那麼則說明本地網絡卡是安裝正常的,若返回 「request timed out.」 則說明本地網絡卡工作不正常  。 

二、判斷網路連線狀態 判斷網路連線時,我們通常的做法就是 ping 閘道器位址 和遠端主機位址,以此判斷出網路故障所發地。 如果「ping 閘道器位址」出現「request timed out.」, 那麼則說明是內部網路出現了問題,本地網絡卡發出的資料報 不能到達閘道器; 如果 ping 閘道器連線正常, 那麼可以執行 「ping 遠端主機」,這時若出現「request timed out.」,則可能 是外部連線的問題了。 在實際的應用中還會出現這樣的情況,在 ping 執行過 程中,會同時包含「request timed out.」和「reply from 192168.0.1: bytes=32 time<1ms ttl=128」這樣的資訊, 這種情況則表示網路不太穩定,存在丟包現象,對此大家可 以使用「ping ip 位址 -t」即在原有的命令後加上「-t」參 數,這樣 ping 就會連續嘗試與目標主機進行連線,以此觀 察網路的穩定性。當然從返回資訊的「time<1ms」也是乙個 很重要的資訊,如果網路很暢通,例如測試與內網主機的連 接,一般都會是「time<1ms」,若該數值比較大,同樣說明 網路不夠穩定,可能是裝置不相容,可能是節點接觸不好, 也可能是網路內有大量病毒導現堵塞等。 三、驗證 dns 伺服器 dns 伺服器負責將網域名稱(**)轉換成 ip 位址,我們可 以使用 ping 命令判斷其配置是否正確以及工作是否正常。 其方法很簡單,只需要在命令提示下輸入「ping 網域名稱 位址」,例如「pint www.itedit.cn」,如果出現「unknown host name」則表明不能到達,返回提示「reply from 222.191.251.34: bytes=32 time=27ms ttl=120」則證明 dns 伺服器能夠成功將網域名稱轉換為 ip 位址。借助這個方法,我 們也可以檢視知名**所使用的 ip 位址。

ping工作過程

dos 命令,一般用於檢測網路通與不通 也叫時延,其值越大,速度越慢 ping packet internet grope 網際網路包探索器,用於測試網路連線量的程式。ping 發 送乙個 icmp 回聲請求訊息給目的地並報告是否收到所希望的 icmp 回聲應答。它是用來檢查網路是否通暢或者網路連線...

Ping命令的工作過程

假定主機a的ip位址是192.168.1.1,主機b的ip位址是192.168.1.2,都在同一子網內,則當你在 主機a上執行 ping 192.168.1.2 後,都發生了些什麼呢?首先,ping命令會構建乙個固定格式的icmp請求資料報,然後由icmp協議將這個資料報連同位址 192.168.1...

Ping的工作過程及單向Ping通的原因

當網路出現問題時,我們最常用的測試工具就是 ping 命令了。但有時候我們會碰到單方向ping通的現象,例如通過hub或一根交叉線連線的在同乙個區域網內的電腦a b,在檢查它們之間的網路連通性時,發現從主機a ping 主機b正常而從主機b ping 主機a時,出現 超時無應答 錯誤。為什麼呢?要知...