ping命令詳細(xì)使用說明舉例
PING的定義:
PING (Packet Internet Grope),因特網(wǎng)包探索器,用于測試網(wǎng)絡(luò)連接量的程序。Ping發(fā)送一個ICMP回聲清求消息給目的地并報告是否收到所希望的ICMP回聲應(yīng)答。 校驗與遠(yuǎn)程計算機或本地計算機的連接。只有在安裝 TCP/IP 協(xié)議之后才能使用該命令。
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
參數(shù)
-t
校驗與指定計算機的連接,直到用戶中斷。
-a
將地址解析為計算機名。
-n count
發(fā)送由 count 指定數(shù)量的 ECHO 報文,默認(rèn)值為 4。
-l length
發(fā)送包含由 length 指定數(shù)據(jù)長度的 ECHO 報文。默認(rèn)值為 64 字節(jié),最大值為 8192 字節(jié)。
-f
在包中發(fā)送“不分段”標(biāo)志。該包將不被路由上的網(wǎng)關(guān)分段。
-i ttl
將“生存時間”字段設(shè)置為 ttl 指定的數(shù)值。
-v tos
將“服務(wù)類型”字段設(shè)置為 tos 指定的數(shù)值。
-r count
在“記錄路由”字段中記錄發(fā)出報文和返回報文的路由。指定的 Count 值最小可以是 1,最大可以是 9 。
-s count
指定由 count 指定的轉(zhuǎn)發(fā)次數(shù)的時間郵票。
-j computer-list
經(jīng)過由 computer-list 指定的計算機列表的路由報文。中間網(wǎng)關(guān)可能分隔連續(xù)的計算機(松散的源路由)。允許的最大 IP 地址數(shù)目是 9 。
-k computer-list
經(jīng)過由 computer-list 指定的計算機列表的路由報文。中間網(wǎng)關(guān)可能分隔連續(xù)的計算機(嚴(yán)格源路由)。允許的最大 IP 地址數(shù)目是 9 。
-w timeout
以毫秒為單位指定超時間隔。
destination-list
指定要校驗連接的遠(yuǎn)程計算機。
關(guān)Pin于 g 的詳細(xì)信息
Ping--注意
Ping 命令通過向計算機發(fā)送 ICMP 回應(yīng)報文并且監(jiān)聽回應(yīng)報文的返回,以校驗與遠(yuǎn)程計算機或本地計算機的連接。對于每個發(fā)送報文, Ping 最多等待 1 秒,并打印發(fā)送和接收把報文的數(shù)量。比較每個接收報文和發(fā)送報文,以校驗其有效性。默認(rèn)情況下,發(fā)送四個回應(yīng)報文,每個報文包含 64 字節(jié)的數(shù)據(jù)(周期性的大寫字母序列)。
可以使用 Ping 實用程序測試計算機名和 IP 地址。如果能夠成功校驗 IP 地址卻不能成功校驗計算機名,則說明名稱解析存在問題。這種情況下,要保證在本地 HOSTS 文件中或 DNS數(shù)據(jù)庫中存在要查詢的計算機名。
下面顯示 Ping 輸出的示例:(Windows用戶可用:開始->運行,輸入"command" 調(diào)出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
適用環(huán)境:WIN95/98/2000/NT
??? 使用格式:ping [-t] [-a] [-n count] [-l size]
參數(shù)介紹:
-t 讓用戶所在的主機不斷向目標(biāo)主機發(fā)送數(shù)據(jù)
-a 以IP地址格式來顯示目標(biāo)主機的網(wǎng)絡(luò)地址
-n count 指定要ping多少次,具體次數(shù)由后面的count來指定
-l size 指定發(fā)送到目標(biāo)主機的數(shù)據(jù)包的大小
主要功能:用來測試一幀數(shù)據(jù)從一臺主機傳輸?shù)搅硪慌_主機所需的時間,從而判斷主響應(yīng)時間。
詳細(xì)介紹:
該命令主要是用來檢查路由是否能夠到達(dá),由于該命令的包長非常小,所以在網(wǎng)上傳遞的速度非常快,可以快速地檢測你要去的站點是否可達(dá),一般你在去某一站點時可以先運行一下該命令看看該站點是否可達(dá)。如果執(zhí)行Ping不成功,則可以預(yù)測故障出現(xiàn)在以下幾個方面:網(wǎng)線是否連通,網(wǎng)絡(luò)適配器配置是否正確,IP地址是否可用等;如果執(zhí)行Ping成功而網(wǎng)絡(luò)仍無法使用,那么問題很可能出在網(wǎng)絡(luò)系統(tǒng)的軟件配置方面,Ping成功只能保證當(dāng)前主機與目的主機間存在一條連通的物理路徑。它的使用格式是在命令提示符下鍵入:Ping IP地址或主機名,執(zhí)行結(jié)果顯示響應(yīng)時間,重復(fù)執(zhí)行這個命令,你可以發(fā)現(xiàn)Ping報告的響應(yīng)時間是不同的。具體的ping命令后還可跟好多參數(shù),你可以鍵入ping后回車其中會有很詳細(xì)的說明。
-t?Ping?the?specified?host?until?stopped.To?see?statistics?and?continue?-?type?Control-Break;To?stop?-?type?Control-C.
不停的ping地方主機,直到你按下Control-C。
此功能沒有什么特別的技巧,不過可以配合其他參數(shù)使用,將在下面提到。
-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.
發(fā)送count指定的Echo數(shù)據(jù)包數(shù)。
在默認(rèn)情況下,一般都只發(fā)送四個數(shù)據(jù)包,通過這個命令可以自己定義發(fā)送的個數(shù),對衡量網(wǎng)絡(luò)速度很有幫助,比如我想測試發(fā)送50個數(shù)據(jù)包的返回的平均時間為多少,最快時間為多少,最慢時間為多少就可以通過以下獲知:
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發(fā)送50個數(shù)據(jù)包的過程當(dāng)中,返回了48個,其中有兩個由于未知原因丟失,這48個數(shù)據(jù)包當(dāng)中返回速度最快為40ms,最慢為51ms,平均速度為46ms。
-l?size?Send?buffer?size.
定義echo數(shù)據(jù)包大小。
在默認(rèn)的情況下windows的ping發(fā)送的數(shù)據(jù)包大小為32byt,我們也可以自己定義它的大小,但有一個大小的限制,就是最大只能發(fā)送?65500byt,也許有人會問為什么要限制到65500byt,因為Windows系列的系統(tǒng)都有一個安全漏洞(也許還包括其他系統(tǒng))就是當(dāng)向?qū)Ψ揭淮伟l(fā)送的數(shù)據(jù)包大于或等于65532時,對方就很有可能擋機,所以微軟公司為了解決這一安全漏洞于是限制了ping的數(shù)據(jù)包大小。雖然微軟公司已經(jīng)做了此限制,但這個參數(shù)配合其他參數(shù)以后危害依然非常強大,比如我們就可以通過配合-t參數(shù)來實現(xiàn)一個帶有攻擊性的命令:(以下介紹帶有危險性,僅用于試驗,請勿輕易施于別人機器上,否則后果自負(fù))
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計算機發(fā)送大小為65500byt的數(shù)據(jù)包,如果你只有一臺計算機也許沒有什么效果,但如果有很多計算機那么就可以使對方完全癱瘓,我曾經(jīng)就做過這樣的試驗,當(dāng)我同時使用10臺以上計算機ping一臺Win2000Pro系統(tǒng)的計算機時,不到5分鐘對方的網(wǎng)絡(luò)就已經(jīng)完全癱瘓,網(wǎng)絡(luò)嚴(yán)重堵塞,HTTP和FTP服務(wù)完全停止,由此可見威力非同小可。
-f?Set?Don't?Fragment?flag?in?packet.
在數(shù)據(jù)包中發(fā)送“不要分段”標(biāo)志。
在一般你所發(fā)送的數(shù)據(jù)包都會通過路由分段再發(fā)送給對方,加上此參數(shù)以后路由就不會再分段處理。
-i?TTL?Time?To?Live.
指定TTL值在對方的系統(tǒng)里停留的時間。
此參數(shù)同樣是幫助你檢查網(wǎng)絡(luò)運轉(zhuǎn)情況的。
-v?TOS?Type?Of?Service.
將“服務(wù)類型”字段設(shè)置為?tos?指定的值。
-r?count?Record?route?for?count?hops.
在“記錄路由”字段中記錄傳出和返回數(shù)據(jù)包的路由。
在一般情況下你發(fā)送的數(shù)據(jù)包是通過一個個路由才到達(dá)對方的,但到底是經(jīng)過了哪些路由呢?通過此參數(shù)就可以設(shè)定你想探測經(jīng)過的路由的個數(shù),不過限制在了9?個,也就是說你只能跟蹤到9個路由,如果想探測更多,可以通過其他命令實現(xiàn),我將在以后的文章中給大家講解。以下為示例:
C:\>ping?-n?1?-r?9?202.96.105.101?(發(fā)送一個數(shù)據(jù)包,最多記錄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這幾個路由。
-s?count?Timestamp?for?count?hops.
指定?count?指定的躍點數(shù)的時間戳。
此參數(shù)和-r差不多,只是這個參數(shù)不記錄數(shù)據(jù)包返回所經(jīng)過的路由,最多也只記錄4個。
-j?host-list?Loose?source?route?along?host-list.
利用?computer-list?指定的計算機列表路由數(shù)據(jù)包。連續(xù)計算機可以被中間網(wǎng)關(guān)分隔(路由稀疏源)IP?允許的最大數(shù)量為?9。
-k?host-list?Strict?source?route?along?host-list.
利用?computer-list?指定的計算機列表路由數(shù)據(jù)包。連續(xù)計算機不能被中間網(wǎng)關(guān)分隔(路由嚴(yán)格源)IP?允許的最大數(shù)量為?9。
-w?timeout?Timeout?in?milliseconds?to?wait?for?each?reply.
指定超時間隔,單位為毫秒。
此參數(shù)沒有什么其他技巧。
ping命令的其他技巧:在一般情況下還可以通過ping對方讓對方返回給你的TTL值大小,粗略的判斷目標(biāo)主機的系統(tǒng)類型是Windows系列還是?UNIX/Linux系列,一般情況下Windows系列的系統(tǒng)返回的TTL值在100-130之間,而UNIX/Linux系列的系統(tǒng)返回的TTL值在?240-255之間,當(dāng)然TTL的值在對方的主機里是可以修改的,Windows系列的系統(tǒng)可以通過修改注冊表以下鍵值實現(xiàn):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"DefaultTTL"=dword:000000ff
255---FF
?128---80
?64----40
?32----20