查看單個文章
舊 2006-05-15, 01:29 AM   #3 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

Ping 指令完全講解

對於Windows下ping指令相信大家已經再熟悉不過了,但是能把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傳送的資料包大小為32byt,我們也可以自己定義它的大小,但有一個大小的限制,就是最大只能傳送65500byt,也許有人會問為什麼要限制到65500byt,因為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電腦傳送大小為65500byt的資料包,如果你只有一台電腦也許?有什麼效果,但如果有很多台電腦那麼就可允苟苑酵耆被荊以妥齬庋氖匝椋蔽彝筆褂?0台以上電腦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這幾個路由。

  -s count Timestamp for count hops.

  指定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.

  指定超時間隔,服務機構為毫秒。

  此參數?有什麼其它技巧。

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

  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

  "DefaultTTL"=dword:000000ff

  255---FF

  128---80

  64----40

  32----20

  好了,ping指令也基本上完全講解完了,其中還有-j,-k參數我還沒有詳細說明,由於某些原因也包括我自己所收集的資料過少這裡也?有向大家詳細介紹,請大家見諒,如果在看了這篇文章的朋友當中有知道得比我更多的,以及其它使用技巧的也希望您能告知我,並在此先謝過。

-=-= 由原先 SC教學文件區 轉至此 =-=- 原發表人: KTB

C:\>ping /?

Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [-j host-list] | [-k host-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.
-a Resolve addresses to hostnames.
-n count Number of echo requests to send.
-l size Send buffer size.
-f Set Don't Fragment flag in packet.
-i TTL Time To Live.
-v TOS Type Of Service.
-r count Record route for count hops.
-s count Timestamp for count hops.
-j host-list Loose source route along host-list.
-k host-list Strict source route along host-list.
-w timeout Timeout in milliseconds to wait for each reply
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次