航空论坛_航空翻译_民航英语翻译_飞行翻译

 找回密码
 注册
搜索
查看: 1378|回复: 0
打印 上一主题 下一主题

PING命令的高级用法 [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2009-1-18 10:57:08 |只看该作者 |倒序浏览
对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
6 W" t, e7 X* g- W" l; q8 y3 x+ w- }
    现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
: {0 [; g7 y# ]! D7 e. R' l: r9 U  k
    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
4 F# O5 `: _& M; d8 P" \6 c
( c6 g  K0 s3 d3 l( G  [7 u    Options: & {& r  C1 K* f5 ^4 d% v
    -t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C. # I) g9 @; f9 p8 Z
    不停的ping地方主机,直到你按下Control-C。
/ [. E; c# M6 g  b; q- |    此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
3 i3 M( b* O: X7 N: j# d' S    -a Resolve addresses to hostnames.
/ M/ N; V9 H- d+ V4 L' j3 o( [% C
    解析计算机NetBios名。 - T2 _# B3 a! @1 |
+ w2 g8 ~, H0 N( p. S+ A" c: ^
    示例:
- o/ Q  l4 A; g6 H2 m: |
3 a; G# p* e. e6 g    C:\>ping -a 192.168.1.210 b5 c% ?( f7 o, X! M
    Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data: ( c5 k# o7 w- x5 p& c8 @' G" b
    Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
% V' L5 v2 B3 s    Reply from 192.168.1.21: bytes=32 time<10ms TTL=254 6 C# ~3 V7 t7 l' w4 s% i
    Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
# ]; f$ `. M8 b6 _2 y  }8 D    Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
* n* [& j% [8 U$ E6 m7 H    Ping statistics for 192.168.1.21:
) y/ _( u' x8 d$ C: M: s! s( `    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
7 p# W6 X8 b* v! U# ]$ Z% M    Minimum = 0ms, Maximum = 0ms, Average = 0ms 0 D# }3 @9 K; J/ v
    从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。
% e* b9 X% @! v2 y5 o/ I& @% i6 @& w' |4 C# `- i
    -n count Number of echo requests to send. ' Z1 @4 O6 l; z
    发送count指定的Echo数据包数。
1 N: b% n8 {: e4 W. |6 y
* \& c2 N0 e; \4 b3 b    在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:3 y0 k% ?, m1 G
) E; o+ d1 p1 w, C6 g+ C1 z
    C:\>ping -n 50 202.103.96.68 # V" U) y3 k5 g: i
    Pinging 202.103.96.68 with 32 bytes of data: 2 Q6 a+ _2 S5 P" b

% M5 e- |% L: q    Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 7 X& l: [  }% E0 |2 B- Z
    Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
! u8 @  D" \+ h& k0 b8 \. G    Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
" b/ O1 w' _' g4 P( |5 C    Request timed out. 5 A( b0 N5 D8 p0 A
    ……………… : s# C- A& u3 K+ A0 V1 R
0 e+ H8 \+ B0 B8 t
    Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
+ g8 j& [: t: h& S4 c    Reply from 202.103.96.68: bytes=32 time=50ms TTL=241 ( d* s7 @! U2 P. P/ x/ N3 t
    Ping statistics for 202.103.96.68:
; g& q) y! {6 p6 K    Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate
# f5 |$ u8 B9 A0 ]$ a6 wound trip times in milli-seconds:
5 x( @) h) W2 ?) l    Minimum = 40ms, Maximum = 51ms, Average = 46ms
3 U5 M' u2 r9 b& t
; G: Q4 [0 m; U& w. J% `    从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。 3 ~8 {! u) t+ _% `: y) f& f
    -l size Send buffer size. 定义echo数据包大小。 ' M. P2 e( c! @$ O) ^2 b( V$ Q4 \9 C
8 w, ]6 P3 q6 L5 O: S1 @+ z
    在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能当机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
! \# L8 W  }: I0 [! V; I
6 [" W# ], A& ^, @$ U    C:\>ping -l 65500 -t 192.168.1.21 - i5 V( M$ w0 e; E6 l: ]: w
    Pinging 192.168.1.21 with 65500 bytes of data: & Q; b3 r  b' k8 j- E$ c# o3 P5 q
    Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
! M! F$ N. _6 |5 Z    Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
8 o$ Z* ~8 o5 o9 t, b$ C- B    ………………
+ t6 t; q, T# _# U: P
  t0 T- ~- |; J0 E! U/ ^* @4 R9 j    这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。 1 ]$ K0 s2 C+ h1 L* L0 H

/ E7 n1 R! t4 D& M    -f Set Don't Fragment flag in packet. 在数据包中发送“不要分段”标志。
* L( _) v( j7 d/ L2 T    在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。 % e" o' c# {) @2 B7 k8 \
    -i TTL Time To Live. ' l4 b1 r2 r" ^. d* u9 r
    指定TTL值在对方的系统里停留的时间。
' E) s3 k1 [8 X5 _. h    此参数同样是帮助你检查网络运转情况的。 3 N$ c. V. r/ `6 [
    -v TOS Type Of Service. 8 _! t6 V, c% C" `* {
    将“服务类型”字段设置为 tos 指定的值。 2 B& M6 W( u0 [3 @# L: p
    -r count Record route for count hops.
) P1 z# P/ q6 a  i0 v: P! ~; U    在“记录路由”字段中记录传出和返回数据包的路由。
# g& ^1 U# o; e1 I, X( L# N( Z, E, ^8 \" j
    在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现,我将在以后的文章中给大家讲解。以下为示例: ) i+ u! z$ S1 b: B9 M
    C:\>ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
' Z% B: p/ A5 `$ [. Z! w. ~
3 p0 C1 {- W( K2 O* r    Pinging 202.96.105.101 with 32 bytes of data:
7 ]/ w; A6 b& @3 h# b    Reply from 202.96.105.101: bytes=32 time=10ms TTL=249 , ]3 H. n2 \  c$ y- s+ U+ A# U
    Route: 202.107.208.187 -> 8 }% q6 j1 K, ]8 ?
    202.107.210.214 -> ' W$ o, z% ~3 [7 H6 h% D
    61.153.112.70 -> & L- {* H$ e: g# U1 q$ T
    61.153.112.89 -> 8 V2 @1 P) O' l- Z9 S" b
    202.96.105.149 -> : ?6 c$ `0 P- w( W  L" o* }
    202.96.105.97 -> - j& F& H: O1 ~( f# Q* L
    202.96.105.101 -> # Z1 x9 }# ]  r) A, W, ]* s/ P
    202.96.105.150 -> 4 g3 b: J  W# v( h5 S5 O3 y' |
    61.153.112.90 ; \* R6 N) W( H8 p5 Y1 c$ f8 Z
& u$ d/ [" G* p9 m: x" T: [
    Ping statistics for 202.96.105.101:
; n' k# Q  Q/ T7 ?    Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), 5 O* _6 N2 _0 q' k: Y" g
    Approximate round trip times in milli-seconds:
/ ~  K7 [; |- t& _0 X" J/ k- W    Minimum = 10ms, Maximum = 10ms, Average = 10ms
, _8 L, U: W" L8 R) o: X, H5 W
% _6 }( k7 V6 \! F1 x    从上面我就可以知道从我的计算机到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这几个路由。
0 ~  d8 |7 Q# L. P* h1 E5 w. R8 A4 P3 ]- V
" G; a6 U* r  r5 m, @    -s count Timestamp for count hops.
) q- ?. W2 B8 M8 D/ A    指定 count 指定的跃点数的时间戳。
* b6 b/ d' d6 R3 ]2 J    此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
; M3 t( J# U$ f0 u# }+ r# }1 ^, A3 H    -j host-list Loose source route along host-list.
8 Z* Z2 Q: e( i. O$ z3 c/ \" `利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
1 p8 i4 \) d% h6 H7 z5 j
4 n9 Z; W& ]: T7 H5 [9 n    -k host-list Strict source route along host-list. . R0 @3 A0 p3 j$ Z5 H0 F- Q
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。 1 i' B& l2 p; r( O- I/ H9 I8 }# C4 r
    -w timeout Timeout in milliseconds to wait for each reply. & F& M  y4 B( ^3 P, G2 e
    指定超时间隔,单位为毫秒。 8 ^$ u, }% J* O/ H' \- ~0 L8 b' K
    此参数没有什么其他技巧。 0 M, J# q' T+ |* C! Z; J- S$ Y

) k4 }  B+ e- t  f5 l    ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:% Q7 p, v& {6 O1 E% w& f9 ~
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] ' I4 j( c/ X$ [" N1 D' F" d
    "DefaultTTL"=dword:000000ff . v' T! b+ C6 v3 f
    255---FF
$ d; G# E+ a: c2 _+ Q    128---80 6 B2 `3 A" v+ U
    64----40
, ~6 ]) n2 E1 Q( `* Y$ x    32----20
您需要登录后才可以回帖 登录 | 注册


Archiver|航空论坛 ( 渝ICP备10008336号 )

GMT+8, 2025-12-18 16:28 , Processed in 0.022001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部