航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
PING命令的高级用法
[打印本页]
作者:
帅哥
时间:
2009-1-18 10:57:08
标题:
PING命令的高级用法
对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
/ m3 ^' ^( q5 z$ ^7 w- X1 K
0 m5 O2 Y" A$ H4 p. Y
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
6 _3 ]1 [/ ?! B. V5 x5 E
. S* f9 q2 n) m: Q0 J0 J' R
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
) X5 {3 L) ? u' _' F4 K4 C0 [
7 z/ V9 k n: J: y9 \" t w
Options:
5 q% t9 k9 e% f1 @( i$ A2 `
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.
& d8 j, P3 V/ y; f" a" ~' r' V
不停的ping地方主机,直到你按下Control-C。
- s" Y/ p$ |! w4 L
此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
& u' C+ S) `4 |% \& @
-a Resolve addresses to hostnames.
1 w0 c9 s- Z; p0 u
! t" w6 z9 x0 T1 `# R
解析计算机NetBios名。
6 D6 m3 g, r& {6 I/ L
5 Z3 z6 `( o E
示例:
+ _* L ?) W9 G3 s# |6 K
1 N' l: o* ~$ t9 f8 z# D% U
C:\>ping -a 192.168.1.21
. f6 @9 C! ~+ Y! b
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:
4 h& T- X! `0 o; W
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
! g: ?- I M0 Q+ d3 h
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
. [- L5 z, d# q% h: T0 q, l
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
0 ~9 v3 @$ W" p& f7 i
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
1 K' Z6 C7 Q) \+ p' e9 r$ q# B
Ping statistics for 192.168.1.21:
# l, g# |# S6 v. N0 b" X
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
4 }7 ~3 z+ F3 O. y2 R. h' K' k v
Minimum = 0ms, Maximum = 0ms, Average = 0ms
, }2 u/ `6 [5 T4 [2 H% N+ Z! x; [
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。
, n) V |; o. k% b$ R- \
/ x" O( R. s6 N9 R6 f
-n count Number of echo requests to send.
! p; J; R3 b. o1 o- @
发送count指定的Echo数据包数。
% t' n& s1 d1 ]. Y2 Q
5 E' e3 y* ?5 P' h
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
' |, x1 [9 [3 B: Y2 V: t
4 J* ~3 O) L5 D4 \( T: [
C:\>ping -n 50 202.103.96.68
, G8 T7 Z' I$ q3 L
Pinging 202.103.96.68 with 32 bytes of data:
& o& R; W/ q5 d1 L3 x' k5 z7 R
: Y: U( ~( N c0 t$ w/ A
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
1 C/ Y, y3 s7 h. y- l$ [" [
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
7 l6 H- n [! v. r
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
$ A9 T4 e: |2 _/ B3 m
Request timed out.
8 v% d! W" G3 {' C
………………
$ [' W0 M' H+ E7 P& l
6 q6 ]: F+ C# u1 e* m5 H5 l
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
3 Q2 i/ }% R" e: \6 c
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
/ }* s/ C% Z1 N! h
Ping statistics for 202.103.96.68:
4 s! r3 Z+ J( v; N3 O0 E
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate
1 a/ q: i7 L- O4 j z8 e+ m
ound trip times in milli-seconds:
" R7 C% o+ p0 T! B4 T
Minimum = 40ms, Maximum = 51ms, Average = 46ms
* p- X8 @$ S, a9 n, B6 s
% O6 r0 K6 B2 K* E) i; M) _
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。
8 g# j. l3 {' _2 \# P
-l size Send buffer size. 定义echo数据包大小。
, `3 A0 y$ a- u; V; _' I) x
* O* Y) A7 F7 |0 e" w; g
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能当机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
+ [! J/ m! H) t; C4 P. q. M: o5 M; w
8 i' C F+ d# a, e4 |
C:\>ping -l 65500 -t 192.168.1.21
" c a! m* c5 j/ Q; U) i0 f- ^4 w3 w
Pinging 192.168.1.21 with 65500 bytes of data:
0 b/ g+ y7 ?, L4 F8 o/ L2 h3 P
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
* {, L% ?' f2 f6 L% F
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
, i9 M' P' ^; m% ~* m% y
………………
9 q: o2 d# Y; ^: S1 S. p
5 @) Y2 q# S8 ^4 \+ N; A
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。
. b. Y4 A" h! i1 z3 } z, f
% e+ J) c/ b$ j9 Z
-f Set Don't Fragment flag in packet. 在数据包中发送“不要分段”标志。
& h; L0 h1 E. h# Q6 o) p3 x7 T* l
在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
, A6 Y# o4 O* M
-i TTL Time To Live.
3 |9 C5 C3 B, _; f; t
指定TTL值在对方的系统里停留的时间。
0 u1 \; S8 ~! B( z# o
此参数同样是帮助你检查网络运转情况的。
% t* W) _% Q( f T5 V
-v TOS Type Of Service.
3 Q/ ~. l; G% T) y+ M: d
将“服务类型”字段设置为 tos 指定的值。
c2 _/ {* f& K8 R' a9 P0 T' P8 Z
-r count Record route for count hops.
0 q3 S. ?. Q( u$ W+ E* x+ R9 M
在“记录路由”字段中记录传出和返回数据包的路由。
0 I2 R9 z+ D1 |2 _( ^
( E/ G9 J3 H) _$ {- v
在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现,我将在以后的文章中给大家讲解。以下为示例:
, t3 z+ F! s7 ?1 _9 P: u
C:\>ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
) v1 I- s, K3 |5 W4 y- r9 x
) a! x* D+ ~; h
Pinging 202.96.105.101 with 32 bytes of data:
8 K7 T. I7 u3 d/ c7 [+ _5 n
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
4 O0 g; c& }; d
Route: 202.107.208.187 ->
( k3 Q) k2 M+ D& C; `% |
202.107.210.214 ->
6 ~2 [1 }- e+ _/ h3 A$ B- M! I5 ?
61.153.112.70 ->
& {* `( o9 w/ Z5 W `" g
61.153.112.89 ->
% G6 }, A! e) w& Q
202.96.105.149 ->
) \& O9 y5 n% r4 O5 d. z2 p$ s
202.96.105.97 ->
0 m8 ]# f/ z4 h D5 K, C
202.96.105.101 ->
: }. _- z2 x. c' ~$ O
202.96.105.150 ->
1 @2 R. T* P' l, `0 t
61.153.112.90
& R8 S. l5 u& H: h* w* G8 X
3 w" M0 K/ M6 F8 C+ P6 J
Ping statistics for 202.96.105.101:
2 t) m$ N5 l. z( M1 A8 w
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
4 C" [. U# n5 P* ]: K* o
Approximate round trip times in milli-seconds:
+ j {9 u* z7 c
Minimum = 10ms, Maximum = 10ms, Average = 10ms
: V; Y) a4 w3 v9 N3 f) j E
8 Q/ F) a+ @8 Q& r* b* O
从上面我就可以知道从我的计算机到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这几个路由。
6 b5 T. p! c5 [
' ]0 \( |# a! I; O( X
-s count Timestamp for count hops.
' t. L, x( i0 C8 l( E
指定 count 指定的跃点数的时间戳。
! X# a, V6 Z$ ?' e
此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
$ t1 m9 s' W; o- B/ f- J
-j host-list Loose source route along host-list.
$ L8 p+ | }. r& f: e; ^+ s* V9 [
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
% J. b5 O1 u9 V3 M/ D6 X; S8 Y
+ o! g8 d. g1 v( _3 p
-k host-list Strict source route along host-list.
* L7 Y, ]0 ]4 l3 Z a
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
, L/ t0 M; R1 e( M7 z+ U
-w timeout Timeout in milliseconds to wait for each reply.
) X6 G" R! H% i k) E1 _
指定超时间隔,单位为毫秒。
- W4 ~* E* t4 H% t6 u
此参数没有什么其他技巧。
/ u" H9 o! i# y+ z
8 E8 F# v' N& u0 l3 y) M' Q
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
" o! q) g* M* L) B9 l: o" D
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
, `% r3 E v& o4 f" H! w/ }7 _3 M9 l0 i
"DefaultTTL"=dword:000000ff
4 b$ k+ Z9 T4 L3 x6 ~7 H6 D
255---FF
1 }3 i1 u8 c! s: t) o
128---80
7 n8 q- p5 g( l% z) l
64----40
8 L4 _# O0 \/ U# V0 _
32----20
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2