航空论坛_航空翻译_民航英语翻译_飞行翻译
标题:
PING命令的高级用法
[打印本页]
作者:
帅哥
时间:
2009-1-18 10:57:08
标题:
PING命令的高级用法
对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。
& o6 a( b9 `1 s% j1 s6 e
# W* \$ P1 s" p! _; y5 E% S' K
现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
9 k4 q$ ]! L. S) \
% Z J3 c: E+ Y+ { P* b& `+ m6 T
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
9 B8 C0 h2 ~9 [) p
) z. p6 j$ c6 i. e
Options:
1 D; {- H I' c1 @
-t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.
- ^1 ]3 z* c1 A
不停的ping地方主机,直到你按下Control-C。
2 q* C/ g& @. [- V: X
此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
# Q/ C U N; ?2 x5 v
-a Resolve addresses to hostnames.
7 u' Q8 L N- Q+ R% D( K
2 {/ ?& G3 C* a" O3 S
解析计算机NetBios名。
/ |, r d- v$ M3 W% P' E) R% W! m
3 m5 a' ~" f7 q5 i; L" Y2 {& \% g
示例:
) A$ w' W" h( e) M% Y; p
. z7 o v- h# [
C:\>ping -a 192.168.1.21
5 n- [3 M8 X# A+ |$ b* S. o
Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:
8 A5 f' y+ z6 E9 x0 `- x7 w
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
: p% _- Z5 Y) s: @, W
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
- p: |+ j; s/ ]0 C8 u
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
& D8 j1 e0 ` |4 I9 r- K1 z' e
Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
5 W" N) {( ^8 m/ [( k% j" p
Ping statistics for 192.168.1.21:
8 a( r0 X3 @0 i: @. O* }% I
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
* ~- ]3 Q$ Q* D( q' S
Minimum = 0ms, Maximum = 0ms, Average = 0ms
8 F) g7 e* N9 H3 a: I- r
从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。
; D; S: o' ?3 i6 }
4 i k0 N" \9 |) N8 S1 v
-n count Number of echo requests to send.
! U' Q" o3 V9 w1 b. n( h; ^$ \! r
发送count指定的Echo数据包数。
& m; X9 q5 [ b' V! x5 b
3 y: ~3 ?) f% [* ^$ E. U! W& k
在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
6 `4 x& O) T G' c* J& t, _0 R2 D
0 A0 l4 _- v# i/ c$ }' H# d
C:\>ping -n 50 202.103.96.68
7 f' X7 c% x S( r: ^# o
Pinging 202.103.96.68 with 32 bytes of data:
* f. _( H, D4 ?# [5 m
Z5 ^/ q- Q, j! b
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
9 k( b. P& o0 @$ B, Y
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
# \9 n$ E+ ^9 j) C2 F
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
E4 _/ r: t7 M: }7 M% t
Request timed out.
3 ^" C1 o5 x! U
………………
6 |+ x6 @2 ^/ }
3 a' y! F+ o# E9 P+ _
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
* c2 s; W8 d1 o9 ]
Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
7 Z, W v: V" W' d* t
Ping statistics for 202.103.96.68:
0 y; }: |" A) b1 g! x& Q8 J
Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate
% h( m; z- L& v) j+ m4 q. b) @& R
ound trip times in milli-seconds:
! e! d$ b; w; [- L3 o
Minimum = 40ms, Maximum = 51ms, Average = 46ms
" v2 c$ [' w' u8 ~5 T
4 y% E$ b. B0 Q+ W. V. i
从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。
5 _8 q6 W1 Z3 J1 E: m
-l size Send buffer size. 定义echo数据包大小。
8 @. s% S9 P2 h+ r1 u5 K! ~
. x4 K# ~& D; m, r& h( Y
在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能当机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
8 R5 [1 q0 p8 y6 l) ^
" f8 E2 z7 G" ` S# A
C:\>ping -l 65500 -t 192.168.1.21
- Y5 i9 Z; E3 m/ V3 s- _9 W; z# h) B
Pinging 192.168.1.21 with 65500 bytes of data:
5 s( O* \3 ]% N' x, t, U' D
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
! m% i, a) l/ {
Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
/ x! }( e/ h: o- S: o+ J
………………
% Y0 t0 c: n- z' g% C7 j7 Y- Q Q
+ \! D. a% i- @. t" ^; O; V! s
这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。
/ d% m4 Q3 f) O5 h4 k) @+ L
$ y) U8 I# @8 I i% _
-f Set Don't Fragment flag in packet. 在数据包中发送“不要分段”标志。
; y# `9 N) O& D5 M% m
在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
4 e+ n) O: [2 ]
-i TTL Time To Live.
; t, ? e! D/ W3 s: j1 `- M8 B
指定TTL值在对方的系统里停留的时间。
' a' w3 h, R# n! {2 w/ w9 r% V0 f
此参数同样是帮助你检查网络运转情况的。
8 s. t) a/ n* n% h5 `" r2 X
-v TOS Type Of Service.
$ Y# { p- a% m% N9 m
将“服务类型”字段设置为 tos 指定的值。
- y% @7 s$ a9 M% U
-r count Record route for count hops.
' v$ |. j$ [2 h2 s1 `
在“记录路由”字段中记录传出和返回数据包的路由。
q& f2 A5 J F. \8 s% s `
9 u3 S2 p' r5 ?: S
在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现,我将在以后的文章中给大家讲解。以下为示例:
6 v9 D$ z9 l7 X0 o* r
C:\>ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
. B) ?3 U# T4 r4 E
! l4 @! U% E" N' s
Pinging 202.96.105.101 with 32 bytes of data:
7 Q0 X- ~3 ]2 g1 B4 N! l* n* P
Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
a& r5 z- J( f s/ \% r
Route: 202.107.208.187 ->
5 r1 P4 E, w* v; Z4 c4 |0 r
202.107.210.214 ->
, C+ T; s% H* j! K2 T w5 p
61.153.112.70 ->
4 S9 R) E8 o1 W8 d) q
61.153.112.89 ->
' A/ x2 {* f* w/ s4 g1 g+ F
202.96.105.149 ->
% o2 B2 {& W" {; d2 O
202.96.105.97 ->
. c. }. e0 K* l2 D. b
202.96.105.101 ->
9 K, |" O; K" [) {. B# D" P6 n( |8 T
202.96.105.150 ->
& P; j" c7 S/ h5 s- t# |
61.153.112.90
3 s9 m. ?% I3 p1 X a/ s
# U4 l- W! d/ K! t4 P# K
Ping statistics for 202.96.105.101:
# l! `9 a T6 F& j9 G6 R! X$ ]* a
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
0 s) t! {# E3 q: j& _5 H
Approximate round trip times in milli-seconds:
" `( F; C7 l( m; O) F$ h
Minimum = 10ms, Maximum = 10ms, Average = 10ms
% J( e- _, ^* q2 z9 i8 k
8 s- A; |$ L0 Q. g: M* H
从上面我就可以知道从我的计算机到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这几个路由。
3 P+ @" {, {. P) T6 ?* k
' h* B/ H6 }" T! _
-s count Timestamp for count hops.
* S# B6 X* A, e2 D9 j
指定 count 指定的跃点数的时间戳。
0 p# g- B8 C8 ~& B
此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
' v3 ]& o$ d" f
-j host-list Loose source route along host-list.
) A- k- q3 A# M# |/ m& K: T5 n
利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
1 p2 H7 b! L/ r
4 b" B( Q. L) L7 t, { k; b
-k host-list Strict source route along host-list.
0 D T! M- P. m% _
利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
' ]" ~4 Y( p6 S5 c( F& H. ]) z
-w timeout Timeout in milliseconds to wait for each reply.
1 j# z9 f5 U5 W3 T K" ]2 a8 g
指定超时间隔,单位为毫秒。
( o6 T$ [ P" a
此参数没有什么其他技巧。
j( I% G* L( t, P* x. |
) N3 |9 E0 |% v" [) w
ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
1 M2 i8 o3 S3 H+ |" `2 ]; T
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
% c5 ] n* q7 }5 J: s; e
"DefaultTTL"=dword:000000ff
" Y* R( t9 p+ _- O
255---FF
# F7 z6 \7 W) _& W7 h2 n
128---80
, J# h3 u3 X- a, \% U+ \1 X
64----40
# A1 k l& h. b5 S) Y
32----20
欢迎光临 航空论坛_航空翻译_民航英语翻译_飞行翻译 (http://bbs.aero.cn/)
Powered by Discuz! X2