对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。 " u( K8 w0 u, E. K $ N( g" Y9 [# b/ l 现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用: ; S9 f8 o% n A: L' X/ f% q) t- D9 h- }6 Y$ a
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 % w7 Z5 D: z% s3 X F# b' d( v" @5 s$ j Options: ! ^ H& o! r* D' D% W7 i$ T& _ -t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C. : r. E* O" }; S: ~7 ? 不停的ping地方主机,直到你按下Control-C。 ! m- g6 W: [) N! K, \, V; U% Y4 `& l 此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。 : C. D/ g+ R7 ?( [' h
-a Resolve addresses to hostnames. $ x ]1 P7 p, X8 m( _) ?8 K/ R
8 M4 Y4 {. J+ x0 o+ P; j, N
解析计算机NetBios名。 : U! U' H; }+ e' r- I
7 L7 e$ T; X* x 示例: 7 Y5 R0 q. F f* Y! n9 j& ]: H1 D; r6 V- e, W# ]
C:\>ping -a 192.168.1.21 4 D% M) { l$ S2 H2 f Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data: ' N6 ]. F K: P5 k" L% ~
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 , j/ X' u( |' a7 d! E
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 4 ^3 u, _7 _0 n( p, @. o Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 * q# X3 y, I& B6 \8 H8 C
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 6 R$ b- M. u& z% J2 l# G
Ping statistics for 192.168.1.21: / f' L) }% V* k" @$ { Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds: ; P+ x$ f& L& Z& W5 g$ Q+ C T Minimum = 0ms, Maximum = 0ms, Average = 0ms 1 U& `& _. L! V) W; `( [- h, I9 P v. c5 ~
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。 9 O% \$ S) |$ d9 f8 E! ?% C% P
7 I$ [7 y/ q& ~ -n count Number of echo requests to send. * W; N8 X0 f- d$ D& _ 发送count指定的Echo数据包数。 ' b. }1 l& y8 @( Z+ G, d7 l* b/ i7 n
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知: / B N- B- e! a : M+ `$ R# \5 _" Y- b+ Z# c C:\>ping -n 50 202.103.96.68 " B9 k+ k2 R! k7 g4 _9 I4 O
Pinging 202.103.96.68 with 32 bytes of data: & p* `( C# V5 p! T5 K7 R2 K4 K( e. l1 p # z( ?% c. Z# F* x( `' i/ O, v2 ~ Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 6 X2 I/ C, X( o7 g" ?5 X- ]! Q
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 0 L6 L ^9 L5 d+ o
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 7 }( d- W8 d: e. y# n2 c# e0 }
Request timed out. - }8 l( P/ ]4 `5 Y" } ……………… . a+ C/ |$ J. \ 4 C8 S ^8 K+ B) E2 M2 t Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 / d6 U( L9 D p4 A; V9 t5 G- }& n: o
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 0 K- A7 k( ?1 {( h' ]6 I1 @' z
Ping statistics for 202.103.96.68: 1 A5 w7 `" d, ~( v9 t7 f
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate ! W: i+ @ J$ e8 c
ound trip times in milli-seconds: & b9 I- G2 ?% |5 x* K& W Minimum = 40ms, Maximum = 51ms, Average = 46ms 7 c0 _: q( w. t3 T3 [1 r / x7 Z6 H7 m, T3 R 从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。 ' M$ G7 n0 |4 d2 ]1 ]& h -l size Send buffer size. 定义echo数据包大小。 ; E# u' {0 n% S. n1 h0 l, P5 N7 T/ O/ @0 Q+ l
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能当机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负) # V8 }2 x B# U' f P0 V & T0 v! i; t! ~4 [ C:\>ping -l 65500 -t 192.168.1.21 9 \, W3 b6 @0 E
Pinging 192.168.1.21 with 65500 bytes of data: 4 ]+ E3 u: R; ?: i' E& p& e
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 % ?! _( M' ?( |4 E/ d
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254 0 M8 f/ D0 ` ^/ O2 ^" A ………………8 f' Z! T W: u7 k" i
! z( \7 `" Z8 Y# [; B h 这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。 / Z$ Z: G* F% R. M( k) n! W
2 `4 o# _, o9 m: L$ T7 F -f Set Don't Fragment flag in packet. 在数据包中发送“不要分段”标志。 / [7 L) O' l5 P
在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。 ! B1 g. E | g/ m: D9 o
-i TTL Time To Live. - Z7 L7 ]$ I1 C' N, K& v3 k3 W$ ~
指定TTL值在对方的系统里停留的时间。 # s$ Y% O6 W# O 此参数同样是帮助你检查网络运转情况的。 2 P: L. V) R8 h# g' b7 m9 }; g
-v TOS Type Of Service. - c; e; p2 E! [3 N o) [
将“服务类型”字段设置为 tos 指定的值。 ' u- l7 J# F) s. G
-r count Record route for count hops. , p0 c# p! W' J, o. ^* ? 在“记录路由”字段中记录传出和返回数据包的路由。 8 T* p; I/ [" _. ?5 F