cmd命令---ping!

什麼是Ping 

Ping是典型的網絡工具。Ping能夠辨別網絡功能的某些狀態。這些網絡功能的狀態是日常網絡故障診斷的基礎。特別是Ping能夠識別連接的二進制狀態(也就是是否連通)。但是,這只是能夠告知你的網絡運行狀況的衆多行爲分析中一個最簡單的例子。 

假設網絡是一個黑匣子,對此你事先一無所知。通過適當地刺激網絡和分析網絡的反應,正確地應用網絡行爲分析模型確定這個黑匣子的內部狀態。這就使網絡工程師和用戶不必專門訪問網絡的組成設備(也就是接口、交換機和路由器)就可以瞭解一個網絡通道。 

向網絡發送數據包。用網絡的正常狀態和網絡標準作爲分析模型。接下來,把可能的網絡反應同已知的狀態聯繫起來,就可以識別網絡的內部狀態,如連通性。 

在使用Ping的情況下,這隻能使簡單的事情更加複雜。向一個IP地址發送一個ICMP Echo數據包,可以得到ICMP(互聯網信報控制協議)應答,你就可以確定在網絡路徑上存在連接。這很簡單,但是功能卻非常強大,因爲它可以指出更有趣的可能性。 

當然,網絡從來不是理想的。網絡對刺激的反應是隨時間變化的。一般來說,Ping要重複這個過程不只一次,然後進行統計評估。按照這種做法,Ping大體上可以確定往返時間(RTT)的統計變化以及丟包率(往返時間爲無窮大)。根據這個額外的信息,可以稍微多的瞭解到網絡通道中的一些信息,但是瞭解的並不多。 

Traceroute是採用這種方法的另一個工具。利用與中間路徑第三層設備有關的已知的行爲和IP報頭的生存時間(TTL)域,Traceroute能夠確定主機與某些目標主機之間的第三層的設備的排列順序。要完成這個任務,Traceroute不是發送一個數據包,而是發送一系列具有TTL特殊設置的數據包,從1逐步增加到255個,直到達到預定的目標。Traceroute然後能夠識別以ICMP TTL到其信息應答的每個第三層接口的IP地址。 

Traceroute因此可以提供一個功能,瞭解兩個主機之間IP路由的狀態。顯然,這樣的狀態很多,比簡單的二進制的連接狀態要複雜。 

Traceroute需要大量增加網絡路徑的樣本來完成這個任務。 

當然,還有更多的工具可以顯示網絡路徑的不同方面,甚至Ping和Traceroute也增加了其它的功能。有些工具依賴非常高級的數學網絡模型。這些數學模型包括隊列理論、非隨機損失分析和錯誤的關聯等。 

那麼,要點是什麼呢?這有點兒像盲人摸象的老寓言,每個盲人都以不同的特點解釋象(有人說像蛇,有人說像堵牆,有人說像樹幹),因爲每一個路徑都是以不同的方式訪問的。他們誰也不清楚他們正在處理的是什麼。 

因此,網絡就是這種東西,不斷地變化、影響應用程序的性能並且阻礙診斷。然而,可以廣泛應用網絡分析模型,而不是對簡單的網絡狀態進行一點一點的分析。高級取樣和分析過程可以詳細揭示所有的端對端的路徑的結構。 

“新網絡科學”欄目介紹的許多最新的網絡技術充分利用了這個方法。事實上,這些系統提供的觀點更精確。打個比方,這就好像是使用現代的聲納精確地生成的一個由溫度、表面和鹽度等所有的細微變化形成的聲波以準確地描繪海洋的洋底、洋流和海洋生物存在的狀態。並不是簡單地檢測第二次世界大戰的潛艇。 

更好的是,這些系統能夠有選擇地分析網絡對具體應用程序的反應。這些應用程序包括備份與恢復、VoIP、視頻、協作環境等處理系統以及其它應用軟件。數據包的大小、負載、協議和傳輸速率的變化都可能引起網絡改變其特點。 

如果你發現Ping和raceroute用處不大,考慮一下,你使用的僅僅是你可能擁有的工具的很小的一部分。就像一個像素的圖形不能向你展示整個畫面一樣,Ping也不能告訴你整個情況。 

ping命令 

校驗與遠程計算機或本地計算機的連接。只有在安裝 TCP/IP 協議之後才能使用該命令。 

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list 

參數 

-t 

校驗與指定計算機的連接,直到用戶中斷。 

-a 

將地址解析爲計算機名。 

-n count 

發送由 count 指定數量的 ECHO 報文,默認值爲 4。 

-l length 

發送包含由 length 指定數據長度的 ECHO 報文。默認值爲 64 字節,最大值爲 8192 字節。 

-f 

在包中發送“不分段”標誌。該包將不被路由上的網關分段。 

-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 。 

-w timeout 

以毫秒爲單位指定超時間隔。 

destination-list 

指定要校驗連接的遠程計算機。 

注意:Ping 命令通過向計算機發送 ICMP 迴應報文並且監聽迴應報文的返回,以校驗與遠程計算機或本地計算機的連接。對於每個發送報文, Ping 最多等待 1 秒,並打印發送和接收把報文的數量。比較每個接收報文和發送報文,以校驗其有效性。默認情況下,發送四個迴應報文,每個報文包含 64 字節的數據(週期性的大寫字母序列)。 

可以使用 Ping 實用程序測試計算機名和 IP 地址。如果能夠成功校驗 IP 地址卻不能成功校驗計算機名,則說明名稱解析存在問題。這種情況下,要保證在本地 HOSTS 文件中或 DNS 

數據庫中存在要查詢的計算機名。 

下面顯示 Ping 輸出的示例:(Windows用戶可用:開始->運行,輸入"command" 調出command窗口使用此命令) 

C:\>ping ds.internic.net 

Pinging ds.internic.net [192.20.239.132] with 32 bytes of data: 

Reply from 192.20.239.132: bytes=32 time=101ms TTL=243 

Reply from 192.20.239.132: bytes=32 time=100ms TTL=243 

Reply from 192.20.239.132: bytes=32 time=120ms TTL=243 

Reply from 192.20.239.132: bytes=32 time=120ms TTL=243 

使用PING判斷TCP/IP故障 

1、Ping 127.0.0.1: 

127.0.0.1是本地循環地址,如果本地址無法Ping通,則表明本地機TCP/IP協議不能正常工作。 

2、Ping本機的IP地址: 

用IPConfig查看本機IP,然後Ping該IP,通則表明網絡適配器(網卡或MODEM)工作正常,不通則是網絡適配器出現故障。 

3、Ping同網段計算機的IP: 

Ping一臺同網段計算機的IP,不通則表明網絡線路出現故障;若網絡中還包含有路由器,則應先Ping路由器在本網段端口的IP,不通則此段線路有問題;通則再PING路由器在目標計算機所在網段的端口IP,不通則是路由出現故障;通則再Ping目的機IP地址。 

4、Ping網址: 

若要檢測一個帶DNS服務的網絡,在上一步Ping通了目標計算機的IP地址後,仍無法連接到該機,則可PING該機的網絡名,比如Ping www.sina.com.cn,正常情況下會出現該網址所指向的IP,這表明本機的DNS設置正確而且DNS服務器工作正常,反之就可能是其中之一出現了故障;同樣也可通過Ping計算機名檢測WINS解析的故障(WINS是將計算機名解析到IP地址的服務)。 

這四步執行完畢後,網絡中的故障所在點就已明確,我們就可以正確的解決問題了。 

利用Ping命令判定網絡故障 

Ping 是Windows系列自帶的一個可執行命令。利用它可以檢查網絡是否能夠連通,用好它可以很好地幫助我們分析判定網絡故障。應用格式:Ping IP地址。該命令還可以加許多參數使用,具體是鍵入Ping按回車即可看到詳細說明。 

#11.Ping本機IP 
例如本機IP地址爲:172.168.200.2。則執行命令Ping 172.168.200.2。如果網卡安裝配置沒有問題,則應有類似下列顯示: 
Replay from 172.168.200.2bytes=32 time<10ms 
Ping statistics for 172.168.200.2 
PacketsSent=4 Received=4Lost=00% loss 
Approximate round trip times in milli-seconds 
Minimum=0msMaxiumu=1msAverage=0ms 
如果在MS-DOS方式下執行此命令顯示內容爲:Request timed out,則表明網卡安裝或配置有問題。將網線斷開再次執行此命令,如果顯示正常,則說明本機使用的IP地址可能與另一臺正在使用的機器IP地址重複了。如果仍然不正常,則表明本機網卡安裝或配置有問題,需繼續檢查相關網絡配置。 

#12.Ping網關IP 
假定網關IP爲:172.168.6.1,則執行命令Ping 172.168.6.1。在MS-DOS方式下執行此命令,如果顯示類似以下信息: 
Reply from 172.168.6.1 bytes=32 time=9ms TTL=255 
Ping statistics for 172.168.6.1 
PacketsSent=4Received=4Lost=00% loss 
Approximate round trip times in milli-seconds 
Minimum=1msMaximum=9msAverage=5ms 
則表明局域網中的網關路由器正在正常運行。反之,則說明網關有問題。 

#13.Ping遠程IP 
這一命令可以檢測本機能否正常訪問Internet。比如本地電信運營商的IP地址爲:202.102.48.141。在MS-DOS方式下執行命令:Ping 202.102.48.141,如果屏幕顯示: 
Reply from 202.102.48.141 bytes=32 time=33ms TTL=252 
Reply from 202.102.48.141 bytes=32 time=21ms TTL=252 
Reply from 202.102.48.141 bytes=32 time=5ms TTL=252 
Reply from 202.102.48.141 bytes=32 time=6ms TTL=252 
Ping statistics for 202.102.48.141 
PacketsSent=4Received=4Lost=00% loss 
Approximate round trip times in milli-seconds 
Minimum=5msMaximum=33msAverage=16ms 
則表明運行正常,能夠正常接入互聯網。反之,則表明主機文件(windows/host)存在問題。 

用Ping來解決網絡故障 

某一天,一直使用正常的公司計算機突然Internet Explorer打不開任何網頁了。你焦急萬分卻又不知從何處下手,聊天室裏面那早已約好時間的MM也打來電話催促你趕快上網和她聯繫。這個時候彆着急,請隨我一起來檢查到底是哪個地方出了問題。 

首頁請出我們的看家工具:Ping.exe,Ping.exe是系統自帶的工具,從98到最新的2003 Server版的計算機都帶有這個命令行工具。 

命令說明 

Ping是測試網絡聯接狀況以及信息包發送和接收狀況非常有用的工具,是網絡測試最常用的命令。Ping向目標主機(地址)發送一個回送請求數據包,要求目標主機收到請求後給予答覆,從而判斷網絡的響應時間和本機是否與目標主機(地址)聯通。 

命令格式 

Code:ping IP地址或主機名 [-t] [-a] [-n count] [-l size] 
參數含義: 
-t不停地向目標主機發送數據; 
-a 以IP地址格式來顯示目標主機的網絡地址; 
-n count 指定要Ping多少次,具體次數由count來指定 ; 
-l size 指定發送到目標主機的數據包的大小。 


結果說明 
Ping命令有兩種返回結果: 
1、“Request timed out.”表示沒有收到目標主機返回的響應數據包,也就是網絡不通或網絡狀態惡劣 
2、“Reply from X.X.X.X: bytes=32 time<1ms TTL=255”表示收到從目標主機X.X.X.X返回的響應數據包,數據包大小爲32Bytes,響應時間小於1ms TTL爲255,這個結果表示您的計算機到目標主機之間連接正常。 
3、“Destination host unreachable”表示目標主機無法到達 
4、“PING: transmit failed,error code XXXXX”表示傳輸失敗,錯誤代碼XXXXX 

瞭解了它的命令格式和使用方法後我們就可以開始檢查到底是哪個地方出了問題了. 

一、檢查本機的網卡驅動程序及TCP/IP協議是否安裝正確 
點擊開始>運行,win98/me輸入command,win2000以上輸入cmd打開命令提示符窗口。輸入命令:ping 127.0.0.1,127.0.0.1這個IP地址被定義爲本機IP地址,我們現在要做的事情就是先PING一下自己,根據返回的結果來確定我們下一步要做什麼。如果返回的是第2種結果,則表示您的網卡驅動及TCP/IP都是正常的,可以進行下一步了。如果返回的是第四種結果則表示您的網卡驅動程序或TCP/IP有問題,此時您應該檢查一下網卡驅動程序是否安裝正確完好,TCP/IP協議是否安裝。把網卡驅動程序及TCP/IP協議設置好後,檢查一下現在能否上網,如果還是無法上網,這時就要進行第二步了。 

二、檢查您的計算機到網關之間的線路 
在命令提示符窗口下輸入ipconfig命令,將返回您的計算機在網絡上的IP地址(IP Address)、子網掩碼(Subnet Mask)及網關(Default Gateway),如果您的計算機使用的是自動獲取IP,而在IP Address後面顯示的是169.XXX.XXX.XXX的IP地址則您的計算機並沒有從DHCP服務器上獲取到可用的計算機IP地址。這時可以使用命令ipconfig /renew重新獲取一下IP(win98/me使用ipconfig/renew_all),一般情況下都可以獲取得正確的IP地址,當然前提是DHCP服務器正常。如果一直獲取不到正確的IP地址,這時則要檢查一下是否防火牆軟件阻擋了網卡的通信,如Windows XP的防火牆。 
獲取到正確的IP地址、子網掩碼及網關地址後,就可以使用Ping工具來探測本地計算機和網關之間是否連通了。運行命令Ping 網關地址後,如果返回的結果正常,而IE依然打不開網頁,這個時候就應該進行第三步工作了。如果返回的結果不正常,則說明您的計算機和網關主機網絡不正常。此時如果是Adsl用戶則需要向運營商打電話救助,讓他們檢查自己的服務器是否出現了故障。如果是局域網用戶,則需要向網管求助,讓他檢查網絡的交換設備及網關服務器是否工作正常。 

三、檢查Internet網絡 
在命令提示符窗口下PING一個著名點的網站,比如www.163.com,如果正常的話,將會返回www.163.com的IP地址,如果提示“Ping request could not find host www.163.com. Please check the name and try again.“則說明沒有獲取到www.163.com網站的IP地址,這時在IE中輸入的www.163.com這個地址也就不打開網站了(因爲域名必須被解析成IP地址之後才能被正確訪問)。這時你可以Ping 202.106.168.104(www.163.com的一個IP地址)看是否能夠返回正確的結果,如果返回了正確的結果,則表明您的DNS服務器設置有問題,可以諮詢一下運營商當地的DNS服務器地址,將其填入TCP/IP屬性中即可解決。如果PING 202.106.168.104不通的話,就只能等待運營商的求援了。:( 

經過上面的三步檢查,相信您一定又能在互聯網上自由地衝浪了吧!網絡故障出現的原因有很多種,但只要我們細心一點,一步一步地排查,就能很輕鬆地找出故障原因並將其解決,最後祝你衝浪愉快! 

看清Ping命令的真面目 

要知道這其中的奧祕,我們有必要來看看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.2”一起交給IP層協議(和ICMP一樣,實際上是一組後臺運行的進程),IP層協議將以地址“192.168.1.2”作爲目的地址,本機IP地址作爲源地址,加上一些其他的控制信息,構建一個IP數據包,並在一個映射表中查找出IP地址192.168.1.2所對應的物理地址(也叫MAC地址,熟悉網卡配置的朋友不會陌生,這是數據鏈路層協議構建數據鏈路層的傳輸單元——幀所必需的),一併交給數據鏈路層。後者構建一個數據幀,目的地址是IP層傳過來的物理地址,源地址則是本機的物理地址,還要附加上一些控制信息,依據以太網的介質訪問規則,將它們傳送出去。 

主機B收到這個數據幀後,先檢查它的目的地址,並和本機的物理地址對比,如符合,則接收;否則丟棄。接收後檢查該數據幀,將IP數據包從幀中提取出來,交給本機的IP層協議。同樣,IP層檢查後,將有用的信息提取後交給ICMP協議,後者處理後,馬上構建一個ICMP應答包,發送給主機A,其過程和主機A發送ICMP請求包到主機B一模一樣。 

從Ping的工作過程,我們可以知道,主機A收到了主機B的一個應答包,說明兩臺主機之間的去、回通路均正常。也就是說,無論從主機A到主機B,還是從主機B到主機A,都是正常的。那麼,是什麼原因引起只能單方向Ping通的呢? 

一、安裝了個人防火牆 

在共享上網的機器中,出於安全考慮,大部分作爲服務器的主機都安裝了個人防火牆軟件,而其他作爲客戶機的機器則一般不安裝。幾乎所有的個人防火牆軟件,默認情況下是不允許其他機器Ping本機的。一般的做法是將來自外部的ICMP請求報文濾掉,但它卻對本機出去的ICMP請求報文,以及來自外部的ICMP應答報文不加任何限制。這樣,從本機Ping其他機器時,如果網絡正常,就沒有問題。但如果從其他機器Ping這臺機器,即使網絡一切正常,也會出現“超時無應答”的錯誤。 

大部分的單方向Ping通現象源於此。解決的辦法也很簡單,根據你自己所用的不同類型的防火牆,調整相應的設置即可。 

二、錯誤設置IP地址 

正常情況下,一臺主機應該有一個網卡,一個IP地址,或多個網卡,多個IP地址(這些地址一定要處於不同的IP子網)。但對於在公共場所使用的電腦,特別是網吧,人多手雜,其中不泛有“探索者”。曾有一次兩臺電腦也出現了這種單方向Ping通的情況,經過仔細檢查,發現其中一臺電腦的“撥號網絡適配器”(相當於一塊軟網卡)的TCP/IP設置中,設置了一個與網卡IP地址處於同一子網的IP地址,這樣,在IP層協議看來,這臺主機就有兩個不同的接口處於同一網段內。當從這臺主機Ping其他的機器時,會存在這樣的問題: 

(1)主機不知道將數據包發到哪個網絡接口,因爲有兩個網絡接口都連接在同一網段; 

(2)主機不知道用哪個地址作爲數據包的源地址。因此,從這臺主機去Ping其他機器,IP層協議會無法處理,超時後,Ping 就會給出一個“超時無應答”的錯誤信息提示。但從其他主機Ping這臺主機時,請求包從特定的網卡來,ICMP只須簡單地將目的、源地址互換,並更改一些標誌即可,ICMP應答包能順利發出,其他主機也就能成功Ping通這臺機器了。 

Ping的小祕密 

Ping命令,大家都比較熟悉,它常被用來測試局域網的連通狀態。“Ping+IP地址”是大家最常用的一種命令格式,但大家是否注意過Ping命令中的IP地址呢?這裏面可是有很多學問和講究的,下面筆者就爲大家介紹一下隱藏在Ping命令中的這些祕密。 

“.0”可以有條件省略 

大家常用“ping 127.0.0.1”命令在本機上做迴路測試,用來驗證本機的TCP/IP協議簇是否被正確安裝。但你發現了嗎?使用“ping 127.1”這個命令也能得到同樣的測試結果(如圖),其實“ping 127.1”和“ping 127.0.0.1”這兩條命令是一樣的,都是在進行迴路測試。 

爲什麼會這樣呢?這就是Ping命令應用中IP地址的使用技巧。大家都知道,IP地址由32位二進制數字組成,爲了方便大家記憶,將每8位二進制數字換算成十進制數字,因此就形成了容易記憶的由四部分十進制數字組成的IP地址(如127.0.0.1)。由於,Windows操作系統具有自動填充“.0”的功能,因此我就可將“127.0.0.1”變爲“127.1”。 

但是,這個“.0”的省略是有條件限制的,並不能任意省略。在Ping命令的應用中,只能將在IP地址的最後一部分十進制數字前出現的一個或多個“.0”省略,如把“ping 127.0.0.1”命令改寫成“ping 127.1”。 

如果這一個或多個 “.0”沒有緊挨着最後一部分的十進制數字,而是在其他位置,則這個“.0”不能省略,如“ping 202.0.96.1”就不能寫成“ping 202.96.1”。這是因爲“ping 202.96.1”返回的結果是“202.96.0.1”的應答信息,而不是“202.0.96.1”的應答信息。 

數字串代替IP地址 

在Ping命令中,還可以使用數字串代替IP地址,你相信嗎?運行“ping 3658906394”命令,你會看到“218.22.123.26”這個IP地址的返回信息。 

爲什麼會這樣呢?其實,“3658906394”就是IP地址“218.22.123.26”的另一種表示形式。當然,也可按同樣的方法Ping其他的IP地址。 

字符串是如何轉換而來的呢?其實並不複雜,以“218.22.123.26”這個IP地址爲例,IP地址轉換成數字串方法如下:先將“218.22.123.26”轉換爲十六進制“DA.16.7B.1A”,然後去掉小數點後,變爲“DA167B1A”,最後將這個十六進制數轉換爲十進制“3658906394”,那麼“218.22.123.26”就變爲“3658906394”了。其他IP地址轉換爲數字串也是使用同樣的方法。 

提示:在某些局域網環境中,使用“Ping+數字串”命令可能會失敗,出現提示信息“Unknown host數字串”,這是因爲該數字串被解析成主機名了,而不是IP地址。 

因此,掌握了上述技巧後,網管在進行網絡測試或維護時,可以熟練運用“省略”方式,減輕Ping命令的字符輸入量,提高工作效率。同時,使用數字串代替IP地址也可迷惑好奇心強的普通用戶,以免他們胡亂設置。

原文:http://zhidao.baidu.com/question/24767795.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章