PING命令

PING命令

因特網包探索器
Ping是Windows系列自帶的一個可執行命令。利用它可以檢查網絡是否能夠連通,用好它可以很好地幫助我們分析判定網絡故障。應用格式:Ping IP地址。該命令還可以加許多參數使用,具體是鍵入Ping按回車即可看到詳細說明。PING (Packet Internet Groper),因特網包探索器,用于測試網絡連接量的程序。[1]Ping發送一個ICMP(Internet Control Messages Protocol)即因特網信報控制協議;回聲請求消息給目的地并報告是否收到所希望的ICMP echo(ICMP回聲應答)。它是用來檢查網絡是否通暢或者網絡連接速度的命令。作為一個生活在網絡上的管理員或者黑客來說,ping命令是第一個必須掌握的DOS命令,它所利用的原理是這樣的:利用網絡上機器IP地址的唯一性,給目标IP地址發送一個數據包,再要求對方返回一個同樣大小的數據包來确定兩台網絡機器是否連接相通,時延是多少。
    中文名:因特網包探索器 外文名:Packet Internet Groper 所屬學科: 簡稱:PING 作用:測試網絡連接量 性質:DOS命令

工作流程

我們以下面一個網絡為例:有A、B、C、D四台機子,一台路由RA,子網掩碼均為255.255.255.0,默認網關為192.168.0.1

1.在同一網段内

在主機A上運行“Ping 192.168.0.5”後,都發生了些什麼呢? 首先,Ping命令會構建一個固定格式的ICMP請求數據包,然後由ICMP協議将這個數據包連同地址“192.168.0.5”一起交給IP層協議(和ICMP一樣,實際上是一組後台運行的進程),IP層協議将以地址“192.168.0.5”作為目的地

址,本機IP地址作為源地址,加上一些其他的控制信息,構建一個IP數據包,并想辦法得到192.168.0.5的MAC地址(物理地址,這是數據鍊路層協議構建數據鍊路層的傳輸單元——幀所必需的),以便交給數據鍊路層構建一個數據幀。關鍵就在這裡,IP層協議通過機器B的IP地址和自己的子網掩碼,發現它跟自己屬同一網絡,就直接在本網絡内查找這台機器的MAC,如果以前兩機有過通信,在A機的ARP緩存表應該有B機IP與其MAC的映射關系,如果沒有,就發一個ARP請求廣播,得到B機的MAC,一并交給數據鍊路層。後者構建一個數據幀,目的地址是IP層傳過來的物理地址,源地址則是本

機的物理地址,還要附加上一些控制信息,依據以太網的介質訪問規則,将它們傳送出去。

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

2.不在同一網段内

在主機A上運行“Ping 192.168.1.4”後,開始跟上面一樣,到了怎樣得到MAC地址時,IP協議通過計算發現D機與自己不在同一網段内,就直接将交由路由處理,也就是将路由的MAC取過來,至于怎樣得到路由的MAC,跟上面一樣,先在ARP緩存表找,找不到就廣播。路由得到這個數據幀後,再跟主機D進行聯系,如果找不到,就向主機A返回一個超時的信息。

實例講解

ping就是對一個網址發送測試數據包,看對方網址是否有響應并統計響應時間,以此測試網絡。

具體方式是,開始--運行--cmd,在調出的dos窗口下輸入 ping 空格 + 你要ping的網址,回車。

比如 “ pingXXX網址” 之後屏幕會顯示類似信息

Ping XXX 網址[61.135.169.105] with 32 bytes of data:

Reply from 61.135.169.105: bytes=32 time=1244ms TTL=46

Reply from 61.135.169.105: bytes=32 time=1150ms TTL=46

Reply from 61.135.169.105: bytes=32 time=960ms TTL=46

Reply from 61.135.169.105: bytes=32 time=1091ms TTL=46

後面的time=1244ms 是響應時間,這個時間越小,說明你連接這個地址速度越快。

測試

本機IP

例如本機IP地址為:172.168.200.2。則執行命令Ping 172.168.200.2。如果網卡安裝配置沒有問題,則應有類似下列顯示:

Reply 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 Maximum=1ms Average=0ms

如果在MS-DOS方式下執行此命令顯示内容為:Request timed out,則表明網卡安裝或配置有問題。将網線斷開再次執行此命令,如果顯示正常,則說明本機使用的IP地址可能與另一台正在使用的機器IP地址重複了。如果仍然不正常,則表明本機網卡安裝或配置有問題,需繼續檢查相關網絡配置。

網關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

Approximate round trip times in milli-seconds

Minimum=1ms Maximum=9ms Average=5ms

則表明局域網中的網關路由器正在正常運行。反之,則說明網關有問題。

遠程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)存在問題。

特殊情況

1.對方服務器(IP)确實與外網斷開連接;

2.對方服務器拒絕Ping入;

3.對方服務器拒絕Ping出;

4.自己計算機與外網已經斷開連接。

使用方法

對于Windows下ping命令相信大家已經再熟悉不過了,但是能把ping的功能發揮到最大的人卻并不是很多,當然我也并不是說我可以讓ping發揮最大的功能,我也隻不過經常用ping這個工具,也總結了一些小經驗,和大家分享一下。

命令參數

參照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

Options:

-t Ping the specified host until stopped To see statistics and continue - type Control-Break;To stop - type Control-C.

不停的ping對方主機,直到你按下Control-C。

此功能沒有什麼特别的技巧,不過可以配合其他參數使用,将在下面提到。

-a Resolve addresses to hostnames.

解析計算機NetBios名。

示例:C:>ping -a 192.168.1.21

Pinging iceblood.yofor com [192.168.1.21] with 32 bytes of data:

Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

Reply from 192.168.1.21: bytes=32 time<10ms TTL=254

Ping statistics for 192.168.1.21:

Packets: Sent = 4,Received = 4,Lost = 0 (0% loss),Approximate round trip times in milli-seconds:

Minimum = 0ms,Maximum = 0ms,Average = 0ms

從上面就可以知道IP為192.168.1.21的計算機NetBios名為iceblood.yofor com。

-n count Number of echo requests to send.

發送count指定的Echo數據包數。

在默認情況下,一般都隻發送四個數據包,通過這個命令可以自己定義發送的個數,對衡量網絡速度很有幫助,比如我想測試發送50個數據包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過以下獲知:

C:>ping -n 50 202.103.96.68

Pinging 202.103.96.68 with 32 bytes of data:

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Request timed out.

………………

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Reply from 202.103.96.68: bytes=32 time=50ms TTL=241

Ping statistics for 202.103.96.68:

Packets: Sent = 50,Received = 48,Lost = 2 (4% loss),Approximate round trip times in milli-seconds:

Minimum = 40ms,Maximum = 51ms,Average = 46ms

從以上我就可以知道在給202.103.96.68發送50個數據包的過程當中,返回了48個,其中有兩個由于未知原因丢失,這48個數據包當中返回速度最快為40ms,最慢為51ms,平均速度為46ms。

-l size Send buffer size.

定義echo數據包大小。

在默認的情況下windows的ping發送的數據包大小為32byte,我們也可以自己定義它的大小,但有一個大小的限制,就是最大隻能發送65500byte,也許有人會問為什麼要限制到65500byte,因為Windows系列的系統都有一個安全漏洞(也許還包括其他系統)就是當向對方一次發送的數據包大于或等于65532時,對方就很有可能宕機,所以微軟公司為了解決這一安全漏洞于是限制了ping的數據包大小。雖然微軟公司已經做了此限制,但這個參數配合其他參數以後危害依然非常強大,比如我們就可以通過配合-t參數來實現一個帶有攻擊性的命令:(以下介紹帶有危險性,僅用于試驗,請勿輕易施于别人機器上,否則後果自負)

C:>ping -l 65500 -t 192.168.1.21

Pinging 192.168.1.21 with 65500 bytes of data:

Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254

Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254

………………

這樣它就會不停的向192.168.1.21計算機發送大小為65500byte的數據包,如果你隻有一台計算機也許沒有什麼效果,但如果有很多計算機那麼就可以使對方完全癱瘓,我曾經就做過這樣的試驗,當我同時使用10台以上計算機ping一台Win2000Pro系統的計算機時,不到5分鐘對方的網絡就已經完全癱瘓,網絡嚴重堵塞,HTTP和FTP服務完全停止,由此可見威力非同小可。

-f Set Don<|>t Fragment flag in packet.

在數據包中發送“不要分段”标志。

在一般你所發送的數據包都會通過路由分段再發送給對方,加上此參數以後路由就不會再分段處理。

-i TTL Time To Live.

指定TTL值在對方的系統裡停留的時間。

此參數同樣是幫助你檢查網絡運轉情況的。

-v TOS Type Of Service.

将“服務類型”字段設置為 tos 指定的值。

-r count Record route for count hops.

在“記錄路由”字段中記錄傳出和返回數據包的路由。

在一般情況下你發送的數據包是通過一個個路由才到達對方的,但到底是經過了哪些路由呢?通過此參數就可以設定你想探測經過的路由的個數,不過限制在了9個,也就是說你隻能跟蹤到9個路由,如果想探測更多,可以通過其他命令實現,我将在以後的文章中給大家講解。以下為示例:

C:>ping -n 1 -r 9 202.96.105.101 (發送一個數據包,最多記錄9個路由)

Pinging 202.96.105.101 with 32 bytes of data:

Reply from 202.96.105.101: bytes=32 time=10ms TTL=249

Route: 202.107.208.187 ->

202.107.210.214 ->

61.153.112.70 ->

61.153.112.89 ->

202.96.105.149 ->

202.96.105.97 ->

202.96.105.101 ->

202.96.105.150 ->

61.153.112.90

Ping statistics for 202.96.105.101:

Packets: Sent = 1,Received = 1,Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

Minimum = 10ms,Maximum = 10ms,Average = 10ms

從上面我就可以知道從我的計算機到202.96.105.101一共通過了202.107.208.187 ,202.107.210.214,61.153.112.70,61.153.112.89,202.96.105.149,202.96.105.97這幾個路由。

指定 count 指定的躍點數的時間戳。

此參數和-r差不多,隻是這個參數不記錄數據包返回所經過的路由,最多也隻記錄4個。

-j host-list Loose source route along host-list.

利用 computer-list 指定的計算機列表路由數據包。連續計算機可以被中間網關分隔(路由稀疏源)IP 允許的最大數量為 9。

-k host-list Strict source route along host-list.

利用 computer-list 指定的計算機列表路由數據包。連續計算機不能被中間網關分隔(路由嚴格源)IP 允許的最大數量為 9。

-w timeout Timeout in milliseconds to wait for each reply.

指定超時間隔,單位為毫秒。

此參數沒有什麼其他技巧。

另外 在win7中

-4 強行使用IPv4

-6 強行使用IPv6

那樣在局域網中 知道對方主機名字 就可知道他們的IPv4地址和IPv6地址了

ping命令的其他技巧:在一般情況下還可以通過ping對方讓對方返回給你的TTL值大小,粗略的判斷目标主機的系統類型是Windows系列還是UNIX/Linux系列,一般情況下Windows系列的系統返回的TTL值在100-130之間,而UNIX/Linux系列的系統返回的TTL值在240-255之間,當然TTL的值在對方的主機裡是可以修改的,Windows系列的系統可以通過修改注冊表以下鍵值實現:

[HKEY_LOCAL_MACHINEsys temCurrentControlSetServicesTcpipParameters]

"DefaultTTL"=dword:000000ff

255---FF

128---80

64----40

32----20

Ping是個使用頻率極高的網絡診斷程序,用于确定本地主機是否能與另一台主機交換(發送與接收)數據包。根據返回的信息,你就可以推斷TCP/IP參數是否設置得正确以及運行是否正常。需要注意的是:成功地與另一台主機進行一次或兩次數據報交換并不表示TCP/IP配置就是正确的,你必須執行大量的本地主機與遠程主機的數據報交換,才能确信TCP/IP的正确性。

返回信息

Ping的返回信息有"Request Timed Out"、"Destination Net Unreachable"和"Bad IP address"還有"Source quench received"。

"Request Timed Out"這個信息表示對方主機可以到達到TIME OUT,這種情況通常是為對方拒絕接收你發給它的數據包造成數據包丢失。大多數的原因可能是對方裝有防火牆或已下線。

"Destination Net Unreachable"這個信息表示對方主機不存在或者沒有跟對方建立連接。這裡要說明一下"destination host unreachable"和"time out"的區别,如果所經過的路由器的路由表中具有到達目标的路由,而目标因為其它原因不可到達,這時候會出現"time out",如果路由表中連到達目标的路由都沒有,那就會出現"destination host unreachable"。

"Bad IP address" 這個信息表示你可能沒有連接到DNS服務器所以無法解析這個IP地址,也可能是IP地址不存在。

"Source quench received"信息比較特殊,它出現的機率很少。它表示對方或中途的服務器繁忙無法回應。

測試網絡

怎樣使用Ping這命令來測試網絡連通呢?

連通問題是由許多原因引起的,如本地配置錯誤、遠程主機協議失效等,當然還包括設備等造成的故障。

首先我們講一下使用Ping命令的步驟。

使用Ping檢查連通性有六個步驟:

1. 使用ipconfig /all觀察本地網絡設置是否正确;

2. Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是為了檢查本地的TCP/IP協議有沒有設置好;

3. Ping本機IP地址,這樣是為了檢查本機的IP地址是否設置有誤;

4. Ping本網網關或本網IP地址,這樣的是為了檢查硬件設備是否有問題,也可以檢查本機與本地網絡連接是否正常;(在非局域網中這一步驟可以忽略)

5.Ping本地DNS地址,這樣做是為了檢查本地DNS服務器是否工作正常。

6.Ping遠程IP地址,這主要是檢查本網或本機與外部的連接是否正常。

常見錯誤

在檢查網絡連通的過程中可能出現一些錯誤,這些錯誤總的來說分為兩種最常見。

1. Request Timed Out

"request time out"這提示除了在《PING(一)》提到的對方可能裝有防火牆或已關機以外,還有就是本機的IP不正确和網關設置錯誤。

①、IP不正确:

IP不正确主要是IP地址設置錯誤或IP地址沖突,這可以利用ipconfig /all這命令來檢查。在WIN2000下IP沖突的情況很少發生,因為系統會自動檢測在網絡中是否有相同的IP地址并提醒你是否設置正确。在NT中不但會出現"request time out"這提示而且會出現"Hardware error"這提示信息比較特殊不要給它的提示所迷惑。

②、網關設置錯誤:這個錯誤可能會在第四個步驟出現。網關設置錯誤主要是網關地址設置不正确或網關沒有幫你轉發數據,還有就是可能遠程網關失效。這裡主要是在你Ping外部網絡地址時出錯。錯誤表現為無法Ping外部主機返回信息"Request timeout"。

2. Destination Host Unreachable

當你在開始PING網絡計算機時如果網絡設備出錯它返回信息會提示"destination host unreachable"。如果局域網中使用DHCP分配IP時,而碰巧DHCP失效,這時使用 PING命令就會産生此錯誤。因為在DHCP失效時客戶機無法分配到IP系統隻有自設IP,它往往會設為不同子網的IP。所以會出現"Destination Host Unreachable"。另外子網掩碼設置錯誤也會出現這錯誤。

還有一個比較特殊就是路由返回錯誤信息,它一般都會在"Destination Host Unreachable"前加上IP地址說明哪個路由不能到達目标主機。這說明你的機器與外部網絡連接沒有問題,但與某台主機連接存在問題。

Linux&Unix

與Windows的比較

描述:ping 程序使用 ICMP 協議的強制回顯請求數據報以使主機或網關發送一份ICMP的回顯應答。回顯請求數據報("pings")含有一個IP及ICMP的報頭,後跟一個``時間值關鍵字''然後是一段任意長度的填充字節用于把保持分組長度為16的整數倍。

Linux的ping語法和Windows的差不多

但是Linux的Ping數據包是64bytes的 而Windows的是32byte

Windows下默認發送四次數據包,完了之後自己結束,Linux下的ping程序默認不停發送數據包,直到你手動停止。(停止指令是ctrl+c)

返回數據格式不同

ping [-dfnqrRv][-c<完成次數>][-i<間隔秒數>][-I<網絡界面>][-l<前置載入>][-p<範本樣式>][-s<數據包大小>][-t<存活數值>][主機名稱或IP地址]

命令參數

-c count 在發送(和接收)了正好數量為count的回顯應答分組後停止操作。在發送了 count個分組後沒有收到任何分組的特别情況是發送導緻了終止(選程主機或網關不可達)。

-d 在所用的套接字上使用 SO_DEBUG 選項。

-f 以高速方式來作ping。以分組返回的速度來輸出其它分組或每秒輸出百次。當收到每個回顯應答并打印一個退格符時,對每個回顯請求都打印一個句點``.''。這可以快速顯示出丢棄了多少個分組,隻有超級用戶可以用 這個選項。這(操作)對網絡要求非常苛刻,應該慎重使用。

-i wait 在發送每個分組時等待wait個秒數。缺省值為每個分組等待一秒。此選項 與-f選項不能同時使用。

-l preload 如果指定preload,那麼ping程序在開始正常運行模式前盡可能快地發送分組。同樣隻有超級用戶可以用這個選項。

-n 隻以數字形式輸出信息。這樣就不嘗試去查找主機名了。

-p pattern 可以指定最多16個填充字節用于保持分組長度為16的整數倍。在網絡上診斷與數據相關問題時此選項很有用。例如``-pff''将使發出的分組都用全 1填充數據區。

-q 靜态輸出。在程序啟動和結束時隻顯示摘要行。

-R 記錄路由。在回顯請求分組中包含記錄路由選項并在相應的分組返回時顯示路由緩沖區。注意IP首部的容量隻能存放9條這樣的路由。很多主機忽略或禁用此選項。

-t 存活數值:設置存活數值TTL的大小。

-w timeout 指定等待每個響應的最長時間(單位是毫秒)。這個選項僅和-c選項一起才能起作用。它使ping命令以最長的超時時間去等待應答(發送最後一個信息包後)。

測試網絡

linux的不是ipconfig /all而是ifconfig

怎樣使用Ping這命令來測試網絡連通呢?

連通問題是由許多原因引起的,如本地配置錯誤、遠程主機協議失效等,當然還包括設備等造成的故障。

首先我們講一下使用Ping命令的步驟。

使用Ping檢查連通性有六個步驟:

1. 使用ifconfig觀察本地網絡設置是否正确;

2. Ping127.0.0.1,127.0.0.1回送地址Ping回送地址是為了檢查本地的TCP/IP協議有沒有設置好;

3. Ping本機IP地址,這樣是為了檢查本機的IP地址是否設置有誤;

4. Ping本網網關或本網IP地址,這樣的是為了檢查硬件設備是否有問題,也可以檢查本機與本地網絡連接是否正常;(在非局域網中這一步驟可以忽略)

5.Ping本地DNS地址,這樣做是為了檢查DNS是否能夠将IP地址解析。

6.Ping遠程IP地址,這主要是檢查本網或本機與外部的連接是否正常。

反饋信息

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通這台機器了。

Destination host Unreachable

對方與自己不在同一網段内,而自己又未設置默認的路由,或者網絡上根本沒有這個地址,比如上例中A機中不設定默認的路由,運行Ping 192.168.1.4就會出現“Destination host Unreachable”。

網線出了故障

這裡要說明一下“destination host unreachable”和 “time out”的區别,如果所經過的路由器的路由表中具有到達目标的路由,而目标因為其他原因不可到達,這時候會出現“time out”,如果路由表中連到達目标的路由都沒有,那就會出現“destination host unreachable”。

Bad IP address

這個信息表示您可能沒有連接到DNS服務器,所以無法解析這個IP地址,也可能是IP地址不存在。

Source quench received

這個信息比較特殊,它出現的機率很少。它表示對方或中途的服務器繁忙無法回應。

Unknown host——不知名主機

這種出錯信息的意思是,該遠程主機的名字不能被域名服務器(DNS)轉換成IP地址。故障原因可能是域名服務器有故障,或者其名字不正确,或者網絡管理員的系統與遠程主機之間的通信線路有故障。

No answer——無響應

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

Ping 127.0.0.1:127.0.0.1是本地循環地址

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

no rout to host:網卡工作不正常

transmit failed,error code:10043網卡驅動不正常

unknown host name:DNS配置不正确

相關命令

CMD命令

1. gpedit.msc-----組策略

2. sndrec32-------錄音機

3. Nslookup-------IP地址偵測器

4. explorer-------打開資源管理器

5. logoff---------注銷命令

6. tsshutdn-------60秒倒計時關機命令

7. lusrmgr.msc----本機用戶和組

8. services.msc---本地服務設置

9. oobe/msoobe /a----檢查XP是否激活

10. notepad--------打開記事本

11. cleanmgr-------垃圾整理

12. net start messenger----開始信使服務

13. compmgmt.msc---計算機管理

14. net stop messenger-----停止信使服務

15. conf-----------啟動netmeeting

16. dvdplay--------DVD播放器

17. charmap--------啟動字符映射表

18. diskmgmt.msc---磁盤管理實用程序

19. calc-----------啟動計算器

20. dfrg.msc-------磁盤碎片整理程序

21. chkdsk.exe-----Chkdsk磁盤檢查

22. devmgmt.msc---設備管理器

23. regsvr32 /u *.dll----停止dll文件運行

24. drwtsn32------ 系統醫生

25. rononce -p ----15秒關機

26. dxdiag---------檢查DirectX信息

27. regedit-------注冊表編輯器

28. Msconfig.exe---系統配置實用程序

29. rsop.msc-------組策略結果集

30. mem.exe--------顯示内存使用情況

31. regedit.exe----注冊表

32. winchat--------XP自帶局域網聊天

33. progman--------程序管理器

34. winmsd---------系統信息

35. perfmon.msc----計算機性能監測程序

36. sfc /scannow-----掃描錯誤并複原

37. taskmgr-----任務管理器(2000/xp/2003

38. winver---------檢查Windows版本

39. wmimgmt.msc----打開windows管理體系結構(WMI)

40. wupdmgr--------windows更新程序

41. wscript--------windows腳本宿主設置

42. write----------寫字闆

43. wiaacmgr-------掃描儀和照相機向導

44.. Msconfig.exe---系統配置實用程序

45. mplayer2-------簡易widnows media player (媒體播放機)

46. mspaint--------畫圖闆

47. mstsc----------遠程桌面連接

48. magnify--------放大鏡實用程序

49. mmc------------打開控制台

50. mobsync--------同步命令

51. dcomcnfg-------打開系統組件服務

52. ddeshare-------打開DDE共享設置

53. nslookup-------網絡管理的工具向導

54. ntbackup-------系統備份和還原

55. narrator-------屏幕“講述人”

56. ntmsmgr.msc----移動存儲管理器

57. ntmsoprq.msc---移動存儲管理員操作請求

58. netstat -an----(TC)命令檢查接口

59. syncapp--------創建一個公文包

60. sysedit--------系統配置編輯器

61. sigverif-------文件簽名驗證程序

62. shrpubw--------創建共享文件夾

63. secpol.msc-----本地安全策略

64. syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼

65. services.msc---本地服務設置

66. Sndvol32-------音量控制程序

67. sfc.exe--------系統文件檢查器

68. tourstart------xp簡介(安裝完成後出現的漫遊xp程序)

69. eventvwr-------事件查看器

70. eudcedit-------造字程序

71. packager-------對象包裝程序

72. regedit.exe----注冊表

73. regsvr32 /u zipfldr.dll------取消ZIP支持

74. cmd.exe--------CMD命令提示符

75. chkdsk.exe-----Chkdsk磁盤檢查

76. certmgr.msc----證書管理實用程序

77. cliconfg-------SQL SERVER 客戶端網絡實用程序

78. Clipbrd--------剪貼闆查看器

79. ciadv.msc------索引服務程序

80. osk------------打開屏幕鍵盤

81. odbcad32-------ODBC數據源管理器

82. iexpress-------木馬捆綁工具,系統自帶

83. fsmgmt.msc-----共享文件夾管理器

84. utilman--------輔助工具管理器

UNIX命令

用途

發送一個回送信号請求給網絡主機。

語法

ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [  -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i  Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketSize ] [ -S hostname/IP addr ]  [ -L ] [ - I a.b.c.d. ] [ -o interface ] [ -T ttl ] Host [ PacketSize ]  [ Count ]

描述

/usr/sbin/ping 命令發送一個因特網控制報文協議(ICMP) ECHO_REQUEST 去從主機或網關那裡獲得 ICMP ECHO_RESPONSE 信号。ping 命令用于:

* 确定網絡和各外部主機的狀态。

* 跟蹤和隔離硬件和軟件問題。

* 測試、評估和管理網絡。

如果主機正在運行并連在網上,它就對回送信号進行響應。每個回送信号請求包含一個網際協議(IP)和 ICMP 頭,後面緊跟一個 timeval 結構,以及來填寫這個信息包的足夠的字節。缺省情況是連續發送回送信号請求直到接收到中斷信号(Ctrl+C)。

ping 命令每秒發送一個數據包并且為每個接收到的響應打印一行輸出。ping 命令計算信号往返時間和(信息)包丢失情況的統計信息,并且在完成之後顯示一個簡要總結。ping 命令在程序超時或當接收到 SIGINT 信号時結束。Host 參數或者是一個有效的主機名或者是因特網地址。

缺省情況下,ping 命令将連續發送回送信号請求到顯示器直到接收到中斷信号(Ctrl+C). 中斷鍵可以使用 stty 命令來更改。

由于連續回送信号請求會對系統造成一定的負載,重複的請求信号應當主要用作問題隔離。

标志

-c Count 指定要被發送(或接收)的回送信号請求的數目,由 Count 變量指出。

-w timeout 這個選項僅和 -c 選項一起才能起作用。它使 ping 命令以最長的超時時間去等待應答(發送最後一個信息包後)。

-d 開始套接字級别的調試。

-D 這個選項引起 ICMP ECHO_REPLY 信息包向标準輸出的十六進制轉儲。

-f 指定 flood-ping 選項。-f 标志“傾倒”或輸出信息包,在它們回來時或每秒 100 次,選擇較快一個。每一次發送 ECHO_REQUEST,都打印一個句号,而每接收到一個 ECHO_REPLY 信号,就打印一個退格。這就提供了一種對多少信息包被丢棄的信息的快速顯示。僅僅 root 用戶可以使用這個選項。

注:這在網絡上将非常困難,必須小心使用。Flood ping 命令僅僅 root 用戶可以使用。-f 标志與 -i Wait 标志不兼容。

-I a.b.c.d 指定被 a.b.c.d 标明的接口将被用于向外的 IPv4 多點廣播。-I 标志是大寫的 i。

-o interface 指出 interface 将被用于向外的 IPv6 多點廣播。接口以 “en0”,“tr0”等的形式指定。

-i Wait 在每個信息包發送之間等待被 Wait 變量指定的時間(秒數)。缺省值是在每個信息包發送之間等待 1 秒。這個選項與 -f 标志不兼容。

-L 對多點廣播 ping 命令禁用本地回送。

-l Preload 在進入正常行為模式(每秒 1 個)前盡快發送 Preload 變量指定數量的信息包。-l 标志是小寫的 L。

-n 指定僅輸出數字。不企圖去查尋主機地址的符号名。

-p Pattern 指定用多達 16 個“填充”字節去填充你發送的信息包。這有利于診斷網絡上依賴數據的問題。例如,-p ff 全部用 1 填充信息包。

-q 指定靜默輸出。除了在啟動和結束時顯示總結行外什麼也不顯示。

-r 忽略路由表直接送到連接的網絡上的主機上。如果 主機 不在一個直接連接的網絡上,ping 命令将産生一個錯誤消息。這個選項可以被用來通過一個不再有路由經過的接口去 ping 一個本地主機。

-R 指定記錄路由選項。-R 标志包括 ECHO_REQUEST 信息包中的 RECORD_ROUTE 選項,并且顯示返回信息包上的路由緩沖。

注:IP 頭僅僅大到适合 9 個這樣的路由。而且,許多主機和網關忽略這個選項。

-a addr_family 映射 ICMP 信息包的目的地址到 IPv6 格式,如果 addr_family 等于 “inet6”的話。

-s PacketSize 指定要發送數據的字節數。缺省值是 56,當和 8 字節的 ICMP 頭數據合并時被轉換成 64 字節的 ICMP 數據。

-S hostname/IP addr 将 IP 地址用作發出的 ping 信息包中的源地址。在具有不止一個 IP 地址的主機上,可以使用 -S 标志來強制源地址為除了軟件包在其上發送的接口的 IP 地址外的任何地址。如果 IP 地址不是以下機器接口地址之一,則返回錯誤并且不進行任何發送。

-T ttl 指定多點廣播信息包的生存時間為 ttl 秒。

-v 請求詳細輸出,其中列出了除回送信号響應外接收到的 ICMP 信息。

參數

PacketSize 指定了要發送數據的字節數。缺省值是 56,當和 8 字節的 ICMP 頭數據合并時被轉換成 64 字節的 ICMP 數據。包含這個參數是為了和以前的 ping 命令版本相兼容。

Count 指定了要發送(接收)的回送信号請求的數目。包含這個參數是為了和以前的 ping 命令版本相兼容。

示例

1. 要檢查網絡和主機 canopus 的連接性,并且指定要發送的回送信号請求的數目,請輸入:

ping -c 5 canopus

或者

ping canopus 56 5

類似下列的信息将被顯示:

PING canopus.austin.century com: (128.116.1.5): 56 data bytes

64.bytes from 128.116.1.5: icmp_seq=0 ttl=255 time=2 ms

64.bytes from 128.116.1.5: icmp_seq=1 ttl=255 time=2 ms

64.bytes from 128.116.1.5: icmp_seq=2 ttl=255 time=3 ms

64.bytes from 128.116.1.5: icmp_seq=3 ttl=255 time=2 ms

64.bytes from 128.116.1.5: icmp_seq=4 ttl=255 time=2 ms

----canopus.austin.century com PING Statistics----

5.packets transmitted,5 packets received,0% packet loss

round-trip min/avg/max = 2/2/3 ms

2. 要想獲取有關主機 lear 的信息,并且啟動套接字級别的調試,請輸入:

ping -d lear

類似下列的信息将被顯示:

PING lear.austin.century com: (128.114.4.18) 56 data bytes

64.bytes from 128.114.4.18: icmp_seq=0 ttl=255 time=6 ms

64.bytes from 128.114.4.18: icmp_seq=1 ttl=255 time=17 ms

64.bytes from 128.114.4.18: icmp_seq=2 ttl=255 time=6 ms

64.bytes from 128.114.4.18: icmp_seq=3 ttl=255 time=6 ms

64.bytes from 128.114.4.18: icmp_seq=4 ttl=255 time=6 ms

^C

----lear.austin.century com PING Statistics ----

5.packets transmitted,5 packets received,0% packet loss

round-trip min/avg/max = 6/8/17 ms

注:輸出将一直重複直到接收到中斷信号(Ctrl+C)。

3. 要獲取有關主機 opus 的信息,并且指定要發送的字節數,請輸入:

ping -s 2000 opus

或者

ping opus 2000

類似下列的信息将被顯示:

PING opus.austin.century com: (129.35.34.234): 2000 data bytes

2008 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=20 ms

2008 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=19 ms

2008 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=20 ms

2008 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=20 ms

2008 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=20 ms

2008 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=19 ms

2008 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=19 ms

^C

----opus.austin.century com PING Statistics----

7.packets transmitted,7 packets received,0% packet loss

round-trip min/avg/max = 19/19/20 ms

注:輸出将一直重複直到接收到中斷信号 (Ctrl+C)。

4. 要調用 flood-ping 選項給主機 stlopnor,請輸入:

ping -f stlopnor

類似下列的信息将被顯示:

Ping stlopnor.austin.century com: (129.35.34.234): 56 data bytes

.^C

----stlopnor.austin.century com PING Statistics ----

1098 packets transmitted,1097 packets received,0% packet loss

round-trip min/avg/max = 4/4/11

注:flood-ping 命令的輸出将一直重複,直到接收到中斷信号(Ctrl+C)。

5. 要指定發送到主機 opus 信息包的發送時間間隔為 5 秒,請輸入:

ping -i5 opus

類似下列的信息将被顯示:

PING opus.austin.century com: (129.35.34.234): 56 data bytes

64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms

64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms

64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=6 ms

^C

----opus.austin.century com PING Statistics----

3.packets transmitted,3 packets received,0% packet loss

round-trip min/avg/max = 5/5/6 ms

注:輸出将一直重複,直到接收到中斷信号(Ctrl+C)。

6. 在進入正常行為模式前盡快發送 Preload 變量指定的數量的信息包到主機 opus,請輸入:

ping -l 10 opus

類似下列的信息将被顯示:

PING opus.austin.century com: (129.35.34.234): 56 data bytes

64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=9 ms

64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=11 ms

64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=16 ms

64.bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=22 ms

64.bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=26 ms

64.bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=27 ms

64.bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=30 ms

64.bytes from 129.35.34.234: icmp_seq=7 ttl=255 time=31 ms

64.bytes from 129.35.34.234: icmp_seq=8 ttl=255 time=33 ms

64.bytes from 129.35.34.234: icmp_seq=9 ttl=255 time=35 ms

64.bytes from 129.35.34.234: icmp_seq=10 ttl=255 time=36 ms

64.bytes from 129.35.34.234: icmp_seq=11 ttl=255 time=6 ms

64.bytes from 129.35.34.234: icmp_seq=12 ttl=255 time=6 ms

64.bytes from 129.35.34.234: icmp_seq=13 ttl=255 time=6 ms

64.bytes from 129.35.34.234: icmp_seq=14 ttl=255 time=7 ms

64.bytes from 129.35.34.234: icmp_seq=15 ttl=255 time=6 ms

^C

----opus.austin.century com PING Statistics----

16.packets transmitted,16 packets received,0% packet loss

round-trip min/avg/max = 6/19/36 ms

注:輸出将一直重複,直到接收到中斷信号(Ctrl+C)。

7. 要診斷網絡上依賴數據的問題,請輸入:

ping -p ff opus

這個命令用全為 1 的填充模式發送信息包給主機 opus。類似下列的信息将被顯示:

PATTERN: 0xff

PING opus.austin.century com: (129.35.34.234): 56 data bytes

64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms

64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms

64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=5 ms

64.bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=6 ms

64.bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=5 ms

^C

----opus.austin.century com PING Statistics----

5.packets transmitted,5 packets received,0% packet loss

round-trip min/avg/max = 5/5/6 ms

注:輸出将一直重複,直到接收到中斷信号(Ctrl+C)。

8. 要指定靜默輸出,請輸入:

ping -q bach

僅僅類似下列的總結信息将被顯示:

PING bach.austin.century com: (129.35.34.234): 56 data bytes

^C

----bach.austin.century com PING Statistics----

5.packets transmitted,5 packets received,0% packet loss

round-trip min/avg/max = 5/5/8 ms

注:雖然沒有顯示,信息包的輸出将一直繼續,直到接收到中斷信号(Ctrl+C)。

故障檢查

事實上,無論是什麼類型的故障診斷工具,在一些特殊網絡故障面前都會顯得無能為力;此時,我們所能做的就是依靠自己,從使用Ping命令開始,手工逐步排查故障原因。

首先對本地工作站的循環地址127.0.0.1進行ping測試。當遇到一些無法直接找到故障原因的特殊網絡故障時,我們首先需要使用Ping命令測試一下本地工作站的循環地址127.0.0.1能否被正常Ping通,倘若該地址無法被正常Ping通的話,那麼說明本地工作站的TCP/IP協議程序受到了破壞,或者網卡設備發生了損壞。

此時,我們不妨打開本地工作站系統的設備管理器窗口,從中找到網卡設備選項,并用鼠标右鍵單擊該選項,從彈出的快捷菜單中執行“屬性”命令,打開網卡設備的屬性設置窗口,在該窗口的“常規”标簽頁面中我們就能看到當前的網卡工作狀态是否正常了。

當發現網卡工作狀态正常的話,那很有可能是本地工作站的TCP/IP協議程序受到了破壞,此時我們不妨打開本地連接屬性設置窗口,選中并删除該設置窗口中的TCP/IP協議選項,之後再重新安裝一下TCP/IP協議程序,相信這麼一來本地工作站的循環地址127.0.0.1就能被正常Ping通了。

其次對本地工作站的IP地址進行ping測試。在确認127.0.0.1地址能夠被Ping通的情況下,我們繼續使用Ping命令測試一下本地工作站的靜态IP地址是否能被正常Ping通,倘若該地址不能被正常Ping通的話,那麼說明本地工作站的網卡參數沒有設置正确,或者網卡驅動程序不正确,也有可能是本地的路由表受到了破壞。

此時我們可以重新檢查一下本地工作站的網絡參數是否設置正确,如果在網絡參數設置正确的情況下仍然無法Ping通本地IP地址的話,我們最好重新安裝一下網卡設備的原裝驅動程序,相信這麼一來我們就能正确Ping通本地工作站的靜态IP地址了。一旦本地工作站的靜态IP地址被順利Ping通的話,那就表明本地工作站已經能夠加入到局域網網絡中了。

接着對本地局域網的默認網關地址進行ping測試。由于本地工作站是通過網關與局域網中的其他工作站進行相互通信的,隻有本地工作站與默認網關之間連接正常,才能确保本地工作站與其他工作站通信正常。倘若網關地址能被正常Ping通的話,那就表明本地工作站可以與局域網中的其他工作站進行正常通信。

要是Ping命令操作不成功的話,那很有可能是網關設備自身存在問題,或者是本地工作站與網關之間的線路連接不正常,也有可能是本地工作站與網關沒有設置成同一個子網中。此時,我們可以先用專業的線纜測試工具測試一下網絡線纜的連通性,在線纜連通性正常的情況下,再檢查本地工作站的網絡參數是否與網關的參數設置成同一個子網中。

倘若網絡參數設置正确的話,我們再從其他工作站Ping一下網關地址,以便确認網關自身是否存在原因,如果局域網中的其他工作站也無法Ping通網關的話,那多半是網關設備自身存在問題,這個時候我們隻要将故障排查重點鎖定在網關設備上就可以了。

下面對局域網中任意一台遠程工作站的IP地址進行ping測試,以便檢驗本地工作站能否通過網關設備與局域網中的其他工作站進行通信。要是我們發現遠程工作站的IP地址無法Ping通的話,那很有可能是遠程工作站自身無法響應,或者是遠程工作站與網關設備之間的線路連接出現了問題,此時我們可以将網絡故障的排查重點聚焦到遠程工作站上或者是局域網的網絡設備上。

最後對局域網的遠程工作站主機名稱進行ping測試。在确認能夠Ping通遠程工作站IP地址的情況下,仍然出現無法訪問遠程工作站内容的時候,我們就有必要進行這一項測試操作。如果該主機名稱無法被Ping成功的話,那很有可能是DNS解析出現了問題,而不是網絡連接發生了故障,此時我們不妨把故障檢查重點鎖定在DNS服務器上。

小提示:為了有效地找出網絡故障原因,我們在使用Ping命令進行測試檢查時,盡量确保局域網中隻配置了一個網關且要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地址也可迷惑好奇心強的普通用戶,以免他們胡亂設置。

相關詞條

相關搜索

其它詞條