對(duì)于Windows下ping命令相信大家已經(jīng)再熟悉不過(guò)了,但是能把ping的功能發(fā)揮到最大的人卻并不是很多,當(dāng)然我也并不是說(shuō)我可以讓ping發(fā)揮最大的功能,我也只不過(guò)經(jīng)常用ping這個(gè)工具,也總結(jié)了一些小經(jīng)驗(yàn),現(xiàn)在和大家分享一下。
現(xiàn)在我就參照ping命令的幫助說(shuō)明來(lái)給大家說(shuō)說(shuō)我使用ping時(shí)會(huì)用到的技巧,ping只有在安裝了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
Options:
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.
不停的ping地方主機(jī),直到你按下Control-C。
此功能沒(méi)有什么特別的技巧,不過(guò)可以配合其他參數(shù)使用,將在下面提到。
-a Resolve addresses to hostnames.
解析計(jì)算機(jī)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的計(jì)算機(jī)NetBios名為iceblood.yofor.com。
-n count Number of echo requests to send.
發(fā)送count指定的Echo數(shù)據(jù)包數(shù)。
在默認(rèn)情況下,一般都只發(fā)送四個(gè)數(shù)據(jù)包,通過(guò)這個(gè)命令可以自己定義發(fā)送的個(gè)數(shù),對(duì)衡量網(wǎng)絡(luò)速度很有幫助,比如我想測(cè)試發(fā)送50個(gè)數(shù)據(jù)包的返回的平均時(shí)間為多少,最快時(shí)間為多少,最慢時(shí)間為多少就可以通過(guò)以下獲知:
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個(gè)數(shù)據(jù)包的過(guò)程當(dāng)中,返回了48個(gè),其中有兩個(gè)由于未知原因丟失,這48個(gè)數(shù)據(jù)包當(dāng)中返回速度最快為40ms,最慢為51ms,平均速度為46ms。
-l size Send buffer size.
定義echo數(shù)據(jù)包大小。
在默認(rèn)的情況下windows的ping發(fā)送的數(shù)據(jù)包大小為32byt,我們也可以自己定義它的大小,但有一個(gè)大小的限制,就是最大只能發(fā)送65500byt,也許有人會(huì)問(wèn)為什么要限制到65500byt,因?yàn)閃indows系列的系統(tǒng)都有一個(gè)安全漏洞(也許還包括其他系統(tǒng))就是當(dāng)向?qū)Ψ揭淮伟l(fā)送的數(shù)據(jù)包大于或等于65532時(shí),對(duì)方就很有可能擋機(jī),所以微軟公司為了解決這一安全漏洞于是限制了ping的數(shù)據(jù)包大小。雖然微軟公司已經(jīng)做了此限制,但這個(gè)參數(shù)配合其他參數(shù)以后危害依然非常強(qiáng)大,比如我們就可以通過(guò)配合-t參數(shù)來(lái)實(shí)現(xiàn)一個(gè)帶有攻擊性的命令:(以下介紹帶有危險(xiǎn)性,僅用于試驗(yàn),請(qǐng)勿輕易施于別人機(jī)器上,否則后果自負(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
………………
這樣它就會(huì)不停的向192.168.1.21計(jì)算機(jī)發(fā)送大小為65500byt的數(shù)據(jù)包,如果你只有一臺(tái)計(jì)算機(jī)也許沒(méi)有什么效果,但如果有很多計(jì)算機(jī)那么就可以使對(duì)方完全癱瘓,我曾經(jīng)就做過(guò)這樣的試驗(yàn),當(dāng)我同時(shí)使用10臺(tái)以上計(jì)算機(jī)ping一臺(tái)Win2000Pro系統(tǒng)的計(jì)算機(jī)時(shí),不到5分鐘對(duì)方的網(wǎng)絡(luò)就已經(jīng)完全癱瘓,網(wǎng)絡(luò)嚴(yán)重堵塞,HTTP和FTP服務(wù)完全停止,由此可見(jiàn)威力非同小可。
-f Set Don‘t Fragment flag in packet.
在數(shù)據(jù)包中發(fā)送“不要分段”標(biāo)志。
在一般你所發(fā)送的數(shù)據(jù)包都會(huì)通過(guò)路由分段再發(fā)送給對(duì)方,加上此參數(shù)以后路由就不會(huì)再分段處理。
-i TTL Time To Live.
指定TTL值在對(duì)方的系統(tǒng)里停留的時(shí)間。
此參數(shù)同樣是幫助你檢查網(wǎng)絡(luò)運(yùn)轉(zhuǎn)情況的。
-v TOS Type Of Service.
將“服務(wù)類(lèi)型”字段設(shè)置為 tos 指定的值。
-r count Record route for count hops.
在“記錄路由”字段中記錄傳出和返回?cái)?shù)據(jù)包的路由。
在一般情況下你發(fā)送的數(shù)據(jù)包是通過(guò)一個(gè)個(gè)路由才到達(dá)對(duì)方的,但到底是經(jīng)過(guò)了哪些路由呢?通過(guò)此參數(shù)就可以設(shè)定你想探測(cè)經(jīng)過(guò)的路由的個(gè)數(shù),不過(guò)限制在了9個(gè),也就是說(shuō)你只能跟蹤到9個(gè)路由,如果想探測(cè)更多,可以通過(guò)其他命令實(shí)現(xiàn),我將在以后的文章中給大家講解。以下為示例:
C:\》ping -n 1 -r 9 202.96.105.101 (發(fā)送一個(gè)數(shù)據(jù)包,最多記錄9個(gè)路由)
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
從上面我就可以知道從我的計(jì)算機(jī)到202.96.105.101一共通過(guò)了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97這幾個(gè)路由。
-s count Timestamp for count hops.
指定 count 指定的躍點(diǎn)數(shù)的時(shí)間戳。
此參數(shù)和-r差不多,只是這個(gè)參數(shù)不記錄數(shù)據(jù)包返回所經(jīng)過(guò)的路由,最多也只記錄4個(gè)。
-j host-list Loose source route along host-list.
利用 computer-list 指定的計(jì)算機(jī)列表路由數(shù)據(jù)包。連續(xù)計(jì)算機(jī)可以被中間網(wǎng)關(guān)分隔(路由稀疏源)IP 允許的最大數(shù)量為 9。
-k host-list Strict source route along host-list.
利用 computer-list 指定的計(jì)算機(jī)列表路由數(shù)據(jù)包。連續(xù)計(jì)算機(jī)不能被中間網(wǎng)關(guān)分隔(路由嚴(yán)格源)IP 允許的最大數(shù)量為 9。
-w timeout Timeout in milliseconds to wait for each reply.
指定超時(shí)間隔,單位為毫秒。
此參數(shù)沒(méi)有什么其他技巧。
ping命令的其他技巧:在一般情況下還可以通過(guò)ping對(duì)方讓對(duì)方返回給你的TTL值大小,粗略的判斷目標(biāo)主機(jī)的系統(tǒng)類(lèi)型是Windows系列還是UNIX/Linux系列,一般情況下Windows系列的系統(tǒng)返回的TTL值在100-130之間,而UNIX/Linux系列的系統(tǒng)返回的TTL值在240-255之間,當(dāng)然TTL的值在對(duì)方的主機(jī)里是可以修改的,Windows系列的系統(tǒng)可以通過(guò)修改注冊(cè)表以下鍵值實(shí)現(xiàn):
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
“DefaultTTL”=dword:000000ff
255---FF
128---80
64----40
32----20
ping命令執(zhí)行過(guò)程詳解
“ping”是我們經(jīng)常會(huì)接觸到的命令,但是大家對(duì)這個(gè)命令的了解有多少,這個(gè)命令的執(zhí)行過(guò)程以及返回過(guò)來(lái)的信息代表什么意思呢?接下來(lái)我為大家逐一講解。
先看一下“Ping”的執(zhí)行過(guò)程
就以這樣一個(gè)網(wǎng)絡(luò)作為例子:假設(shè)有A、B、C、D四臺(tái)機(jī)器,一臺(tái)路由RA,子網(wǎng)掩碼均為255.255.255.0,默認(rèn)網(wǎng)關(guān)是192.168.0.1
1.同一網(wǎng)段
我們來(lái)看一下在A主機(jī)上執(zhí)行“Ping 192.168.0.5”后,都發(fā)生了些什么。首先,Ping會(huì)通知系統(tǒng)建立一個(gè)固定格式的ICMP請(qǐng)求數(shù)據(jù)包,然后由ICMP協(xié)議打包這個(gè)數(shù)據(jù)包和地址“192.168.0.5”轉(zhuǎn)交給IP層協(xié)議(一組后臺(tái)運(yùn)行的進(jìn)程,與ICMP類(lèi)似),IP層協(xié)議將以地址“192.168.0.5”作為目的地址,本機(jī)IP地址作為源地址,加上一些其他的控制信息,構(gòu)建一個(gè)IP數(shù)據(jù)包,并想辦法得到192.168.0.5的MAC地址(物理地址,這是數(shù)據(jù)鏈路層協(xié)議構(gòu)建數(shù)據(jù)鏈路層的傳輸單元——幀所必需的),以便交給數(shù)據(jù)鏈路層構(gòu)建一個(gè)數(shù)據(jù)幀。關(guān)鍵就在這里,IP層協(xié)議通過(guò)機(jī)器B的IP地址和自己的子網(wǎng)掩碼,發(fā)現(xiàn)它跟自己屬同一網(wǎng)絡(luò),就直接在本網(wǎng)絡(luò)內(nèi)查找這臺(tái)機(jī)器的MAC,如果以前兩機(jī)有過(guò)通信,在A機(jī)的ARP緩存表應(yīng)該有B機(jī)IP與其MAC的映射關(guān)系,如果沒(méi)有,就發(fā)一個(gè)ARP請(qǐng)求廣播,得到B機(jī)的MAC,一并交給數(shù)據(jù)鏈路層。后者構(gòu)建一個(gè)數(shù)據(jù)幀,目的地址是IP層傳過(guò)來(lái)的物理地址,源地址則是本機(jī)的物理地址,還要附加上一些控制信息,依據(jù)以太網(wǎng)的介質(zhì)訪問(wèn)規(guī)則,將它們傳送出去。
主機(jī)B收到這個(gè)數(shù)據(jù)幀后,先檢查它的目的地址,并和本機(jī)的物理地址對(duì)比,如符合,則接收;否則丟棄。接收后檢查該數(shù)據(jù)幀,將IP數(shù)據(jù)包從幀中提取出來(lái),交給本機(jī)的IP層協(xié)議。同樣,IP層檢查后,將有用的信息提取后交給ICMP協(xié)議,后者處理后,馬上構(gòu)建一個(gè)ICMP應(yīng)答包,發(fā)送給主機(jī)A,其過(guò)程和主機(jī)A發(fā)送ICMP請(qǐng)求包到主機(jī)B一模一樣。
2.不同網(wǎng)段
在主機(jī)A上執(zhí)行“Ping 192.168.1.4”后,開(kāi)始跟上面一樣,到了怎樣得到MAC地址時(shí),IP協(xié)議通過(guò)計(jì)算發(fā)現(xiàn)D機(jī)與自己不在同一網(wǎng)段內(nèi),就直接將交由路由處理,也就是將路由的MAC取過(guò)來(lái),至于怎樣得到路由的MAC,跟上面一樣,先在ARP緩存表找,找不到可以利用廣播。路由得到這個(gè)數(shù)據(jù)幀后,再跟主機(jī)D進(jìn)行聯(lián)系,如果找不到,就向主機(jī)A返回一個(gè)超時(shí)的信息。
對(duì)Ping后返回信息的分析
1.Request timed out
這是大家經(jīng)常碰到的提示信息,很多文章中說(shuō)這是對(duì)方機(jī)器置了過(guò)濾ICMP數(shù)據(jù)包,從以上我們介紹的工作流程來(lái)看,這種說(shuō)法不完全正確,可能有以下幾種情況:
(1) 對(duì)方已關(guān)機(jī),或者網(wǎng)絡(luò)上根本沒(méi)有這個(gè)地址:比如在上圖中主機(jī)A中PING 192.168.0.7 ,或者主機(jī)B關(guān)機(jī)了,在主機(jī)A中PING 192.168.0.5 都會(huì)得到超時(shí)的信息。
(2)對(duì)方與自己不在同一網(wǎng)段內(nèi),通過(guò)路由也無(wú)法找到對(duì)方,但有時(shí)對(duì)方確實(shí)是存在的,當(dāng)然不存在也是返回超時(shí)的信息。
(3)對(duì)方存在,不過(guò)設(shè)置了ICMP數(shù)據(jù)包過(guò)濾(比如防火墻設(shè)置)。
檢查對(duì)方存在與否,可以用帶參數(shù) -a 的Ping命令探測(cè),如果得到的返回信息能顯示對(duì)方的NETBIOS名稱(chēng),則說(shuō)明對(duì)方是存在的,但是有防火墻設(shè)置,如果不顯示,則很有可能是對(duì)方不在同一個(gè)網(wǎng)段內(nèi),或者關(guān)機(jī)。
(4)錯(cuò)誤設(shè)置IP地址
正常情況下,一臺(tái)主機(jī)應(yīng)該有一個(gè)網(wǎng)卡,一個(gè)IP地址,或多個(gè)網(wǎng)卡,多個(gè)IP地址(這些地址一定要處于不同的IP子網(wǎng))。但如果一臺(tái)電腦的“撥號(hào)網(wǎng)絡(luò)適配器”(相當(dāng)于一塊軟網(wǎng)卡)的TCP/IP設(shè)置中,設(shè)置了一個(gè)與網(wǎng)卡IP地址處于同一子網(wǎng)的IP地址,這樣,在IP層協(xié)議看來(lái),這臺(tái)主機(jī)就有兩個(gè)不同的接口處于同一網(wǎng)段內(nèi)。當(dāng)從這臺(tái)主機(jī)Ping其他的機(jī)器時(shí),會(huì)存在這樣的問(wèn)題:
A.主機(jī)不知道將數(shù)據(jù)包發(fā)到哪個(gè)網(wǎng)絡(luò)接口,因?yàn)橛袃蓚€(gè)網(wǎng)絡(luò)接口都連接在同一網(wǎng)段。
B.主機(jī)不知道用哪個(gè)地址作為數(shù)據(jù)包的源地址。因此,從這臺(tái)主機(jī)去Ping其他機(jī)器,IP層協(xié)議會(huì)無(wú)法處理,超時(shí)后,Ping 就會(huì)給出一個(gè)“超時(shí)無(wú)應(yīng)答”的錯(cuò)誤信息提示。但從其他主機(jī)Ping這臺(tái)主機(jī)時(shí),請(qǐng)求包從特定的網(wǎng)卡來(lái),ICMP只須簡(jiǎn)單地將目的、源地址互換,并更改一些標(biāo)志即可,ICMP應(yīng)答包能順利發(fā)出,其他主機(jī)也就能成功Ping通這臺(tái)機(jī)器了。
2.Destination host Unreachable
(1)自己未設(shè)定默認(rèn)的路由,對(duì)方跟自己不在同一個(gè)網(wǎng)段內(nèi),比如上例中A機(jī)中不設(shè)定默認(rèn)的路由,運(yùn)行Ping 192.168.0.1.4就會(huì)出現(xiàn)“Destination host Unreachable”。
(2)網(wǎng)線有問(wèn)題
這里要補(bǔ)充說(shuō)明一下“destination host unreachable”和 “time out”的區(qū)別,如果所經(jīng)過(guò)的路由器的路由表中具有到達(dá)目標(biāo)的路由,而目標(biāo)因?yàn)樵虿豢傻竭_(dá),這時(shí)候會(huì)出現(xiàn)“time out”,如果路由表中連到達(dá)目標(biāo)的路由都沒(méi)有,那就會(huì)出現(xiàn)“destination host unreachable”。
3.Bad IP address
這個(gè)信息表示您可能沒(méi)有連接到DNS服務(wù)器,所以無(wú)法解析這個(gè)IP地址,也可能是IP地址不存在。
4.Source quench received
這個(gè)信息出現(xiàn)的機(jī)率很少。它表示對(duì)方或中途的服務(wù)器繁忙無(wú)法回應(yīng)。
5.Unknown host——不知名主機(jī)
這個(gè)信息表示該遠(yuǎn)程主機(jī)的名字不能被域名服務(wù)器(DNS)轉(zhuǎn)換成IP地址。故障原因可能是域名服務(wù)器有故障,或者其名字不正確,或者網(wǎng)絡(luò)管理員的系統(tǒng)與遠(yuǎn)程主機(jī)之間的通信線路有故障。
6.No answer——無(wú)響應(yīng)
這種故障說(shuō)明本地系統(tǒng)有一條通向中心主機(jī)的路由,但卻接收不到它發(fā)給該中心主機(jī)的任何信息。故障原因可能是下列之一:中心主機(jī)沒(méi)有工作;本地或中心主機(jī)網(wǎng)絡(luò)配置不正確;本地或中心的路由器沒(méi)有工作;通信線路有故障;中心主機(jī)存在路由選擇問(wèn)題。
7.Ping 127.0.0.1:127.0.0.1是本地循環(huán)地址
如果本地址無(wú)法Ping通,則表明本地機(jī)TCP/IP協(xié)議不能正常工作。
8.no rout to host:網(wǎng)卡工作不正常。
9.transmit failed,error code:10043網(wǎng)卡驅(qū)動(dòng)不正常。
10.unknown host name:DNS配置不正確。
-
WINDOWS
+關(guān)注
關(guān)注
4文章
3704瀏覽量
94251 -
ping命令
+關(guān)注
關(guān)注
0文章
4瀏覽量
2550
發(fā)布評(píng)論請(qǐng)先 登錄
請(qǐng)問(wèn)一下在windows系統(tǒng)中不能使用ping命令應(yīng)該如何解決?
巧用Ping和Traceroute命令排除網(wǎng)絡(luò)故障
windows XP cmd命令大全
三種不同的“防 Ping”技巧
ping命令的使用方法及功能
ping命令入門(mén)詳解
ping原理及應(yīng)用介紹
ping是什么?ping背后的邏輯是什么樣的?是如何實(shí)現(xiàn)的?
說(shuō)說(shuō)PING命令涉及端到端的理論
ping命令的作用和原理是什么?
Ping命令的7個(gè)基礎(chǔ)用法
PING命令還能這么用?
你知道ping命令是如何工作的嗎?
ping命令的使用大全(Windows下ping命令的使用)
評(píng)論