ping命令是在日常網(wǎng)絡(luò)管理維護(hù)工作中最常用到的命令之一
創(chuàng)新互聯(lián)公司,為您提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)圍欄護(hù)欄等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!
比如在主機(jī)A上執(zhí)行ping命令,目標(biāo)主機(jī)是B。在A主機(jī)上就會(huì)發(fā)送“echo request”(回顯請(qǐng)求)控制消息,主機(jī)B正確接收后即發(fā)回“echo reply”(回顯應(yīng)答)控制消息,從而判斷出雙方能否正常通信。其工作原理如圖1所示。
如果在A主機(jī)上能夠ping通B主機(jī),那么主機(jī)A上顯示的信息就是從主機(jī)B上返回來的“回顯應(yīng)答”。如果不能ping通,主機(jī)A上顯示的信息則是由系統(tǒng)自身所產(chǎn)生的錯(cuò)誤提示。
在Windows系統(tǒng)中,默認(rèn)情況下,每次執(zhí)行ping命令會(huì)發(fā)送4個(gè)“回顯請(qǐng)求”消息,每個(gè)消息的數(shù)據(jù)包大小為32字節(jié),如果一切正常,應(yīng)能收到4個(gè)同樣為32字節(jié)大小的“回顯應(yīng)答”消息。其格式如下:
Reply from ...(IP):bytes=32 time<1ms TTL=128
在這些“回顯應(yīng)答”中包含了豐富的信息:
通過回顯應(yīng)答中的“time”時(shí)間,可以大致的推斷出網(wǎng)速情況,數(shù)據(jù)傳遞經(jīng)過的時(shí)間越長(zhǎng),網(wǎng)速越慢。
回顯應(yīng)答中的“TTL”,即數(shù)據(jù)包的生存周期。每個(gè)系統(tǒng)對(duì)其所發(fā)送的數(shù)據(jù)包都要賦一個(gè)TTL的初始值,默認(rèn)情況下,
Windows XP系統(tǒng)為128,Win7系統(tǒng)為64,Linux系統(tǒng)為64或255(當(dāng)然,系統(tǒng)的TTL值都是可以修改的)。數(shù)據(jù)包每經(jīng)過一次路由,TTL值就要減1,所以通過TTL值,
我們既可以大概地推算出對(duì)方主機(jī)所用的操作系統(tǒng),又可以推斷出在數(shù)據(jù)包在傳送過程中經(jīng)過了多少次路由。比如,在執(zhí)行“ping www.baidu.com”命令時(shí),
回顯應(yīng)答中顯示的TTL值為52,則首先可以大概推斷出百度使用的是Linux系統(tǒng),其次可以得知數(shù)據(jù)在傳送過程中經(jīng)過了12次路由。
這點(diǎn)可以通過tracert命令進(jìn)行驗(yàn)證,執(zhí)行“tracert www.baidu.com”命令,
發(fā)現(xiàn)數(shù)據(jù)包正是經(jīng)過了12次路由。tracert也是一個(gè)利用ICMP協(xié)議工作的命令,它的原理非常巧妙:它向指定的目的主機(jī)發(fā)送多次回顯請(qǐng)求消息,并把封裝該消息的數(shù)據(jù)包的TTL值從1開始遞增。即tracert命令第一次發(fā)送出去的數(shù)據(jù)包的TTL為1,這些數(shù)據(jù)包在經(jīng)過第一個(gè)路由器時(shí),TTL值便被減為了0,這臺(tái)路由器就要將數(shù)據(jù)包丟棄,并同時(shí)向源主機(jī)發(fā)回一個(gè)回顯應(yīng)答消息,通過這種方式就獲得了數(shù)據(jù)包所經(jīng)過的第一臺(tái)路由器的信息。通過這種遞進(jìn)的查詢過程,查詢端就可以追蹤到達(dá)目的主機(jī)所經(jīng)過的所有路由器的情況。
另外,大家可能會(huì)發(fā)現(xiàn),每次執(zhí)行tracert命令所查詢到路徑都不大一樣,這是完全正常的,數(shù)據(jù)包每次傳送時(shí)采用不同的路徑,這正是Internet所采用的分組交換方式的特點(diǎn)
Request timed out(請(qǐng)求超時(shí))
出現(xiàn)這種提示,表示網(wǎng)絡(luò)不通,但具體故障原因要視實(shí)際網(wǎng)絡(luò)情況而定。
另外還有一種錯(cuò)誤提示為:
Destination host unreachable(目的主機(jī)不可達(dá))
出現(xiàn)這種提示,則通常是因?yàn)闆]有設(shè)置網(wǎng)關(guān)或網(wǎng)關(guān)設(shè)置不正確而導(dǎo)致的。
比如,一臺(tái)主機(jī)的IP地址為192.168.0.10/24,默認(rèn)網(wǎng)關(guān)為192.168.0.1。在這臺(tái)主機(jī)上隨便ping另外一個(gè)網(wǎng)段中的不存在的IP,如“ping 172.16.1.10”,因?yàn)檫@個(gè)IP根本不存在,所以肯定無法ping通,但此時(shí)發(fā)送方主機(jī)的“回顯請(qǐng)求”消息已發(fā)送給了網(wǎng)關(guān),只是網(wǎng)關(guān)無法將其轉(zhuǎn)發(fā)給目的主機(jī),因而此時(shí)顯示的錯(cuò)誤提示就為“Request timed out”(請(qǐng)求超時(shí))。
接下來將這臺(tái)主機(jī)的默認(rèn)網(wǎng)關(guān)刪掉,再次執(zhí)行“ping 172.16.1.10”命令,此時(shí)由于沒有網(wǎng)關(guān)為其轉(zhuǎn)發(fā)數(shù)據(jù),因而發(fā)送方主機(jī)根本不會(huì)將“回顯請(qǐng)求”消息發(fā)送出去,此時(shí)顯示的錯(cuò)誤提示就為“Destination host unreachable”(目的主機(jī)不可達(dá)),即根本找不到數(shù)據(jù)發(fā)送的路徑。
因而通過ping命令不同的錯(cuò)誤提示,我們可以大致地判斷出故障原因。
① 首先ping網(wǎng)關(guān),如果能夠ping通,則證明內(nèi)部網(wǎng)絡(luò)沒有問題,問題應(yīng)該出在外部網(wǎng)絡(luò)。
② 如果網(wǎng)關(guān)能夠ping通,接下來再ping某個(gè)網(wǎng)址,比如“ping www.baidu.com”,測(cè)試能否將網(wǎng)址解析為IP,以確認(rèn)是否DNS服務(wù)器設(shè)置錯(cuò)誤。
③ 如果在步驟①中ping網(wǎng)關(guān)不通,則證明問題出在內(nèi)部網(wǎng)絡(luò)。此時(shí)可以測(cè)試能否ping通內(nèi)網(wǎng)中的其它電腦,如果不能ping通,則證明是我們自己的電腦或是網(wǎng)線出了問題;如果能ping通,問題則與我們的電腦或網(wǎng)線無關(guān),而多半是內(nèi)部網(wǎng)絡(luò)的某處出現(xiàn)了故障。