高手必备:如何用好PING命令
许多人在用ping命令的时候,都会弄来一大堆的参考书,而且,就是这样,也未必能解决问题,其实,只要掌握好ping的规则,使用起来并非难事!下面卖贝商城的小编就教你如何使用ping命令,让你成为高手中的高手!
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
Ping 命令可以用来验证与远程计算机的连接。(该命令只有在安装了TCP/IP协议后才能使用)
【参数说明】 :
-t :一直Ping指定的计算机,直到从键盘按下Ctrl+C中断。
-a :将地址解析为计算机NetBios名。
-n :发送count指定的ECHO数据包数,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助。能够测试发送数据包的返回平均时间,及时间的快慢程度。默认值为 4。
-l :发送指定数据量的ECHO数据包。默认为 32 字节;大值是65500byt。
-f :在数据包中发送“不要分段”标志,数据包就不会被路由上的网关分段。通常你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
-i :将“生存时间”字段设置为TTL指定的值。指定TTL值在对方的系统里停留的时间。同时检查网络运转情况的。
-v :tos 将“服务类型”字段设置为 tos 指定的值。
-r :在“记录路由”字段中记录传出和返回数据包的路由。通常情况下,发送的数据包是通过一系列路由才到达目标地址的,通过此参数可以设定,想探测经过路由的个数。限定能跟踪到9个路由。
-s :指定 count 指定的跃点数的时间戳。与参数-r差不多,但此参数不记录数据包返回所经过的路由,多只记录4个。
-j :利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源) IP 允许的大数量为 9。
-k :computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的大数量为 9。
-w:timeout 指定超时间隔,单位为毫秒。
destination-list: 指定要 ping 的远程计算机。
一般情况下,通过ping目标地址,可让对方返回TTL值的大小,通过TTL值可以粗略判断目标主机的系统类型是Windows还是UNIX/Linux,一般情况下Windows系统返回的TTL值在100-130之间,而UNIX/Linux系统返回的TTL值在240-255之间。但TTL的值是可以修改的。故此种方法可作为参考.
【一般操作方法如下】:
C:>ping www.yahoo com
Pinging www.yahoo.akadns net [66.218.71.81] with 32 bytes of data:
Reply from 66.218.71.81: bytes=32 time=160ms TTL=41
Reply from 66.218.71.81: bytes=32 time=150ms TTL=41
Reply from 66.218.71.81: bytes=32 time=160ms TTL=41
Reply from 66.218.71.81: bytes=32 time=161ms TTL=41
Ping statistics for 66.218.71.81:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate
round trip times in milli-seconds:
Minimum = 150ms, Maximum = 161ms, Average = 157ms
--------------------------------------------------------------------------------
Tracerttracert
Tracert 该诊断实用程序将包含不同生存时间 (TTL) 值的 Internet 控制消息协议(ICMP)
回显数据包发送到目标,以决定到达目标采用的路由。要在转发数据包上的 TTL 之前至少递减 1,必需路径上的每个路由器,所以 TTL
是有效的跃点计数。数据包上的 TTL 到达 0 时,路由器应该将“ICMP 已超时”的消息发送回源系统。Tracert 先发送 TTL为 1 的回显数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到大值,从而确定路由。路由通过检查中级路由器发送回的“ICMP 已超时”的消息来确定路由。不过,有些路由器悄悄地下传包含过期 TTL 值的数据包,而 tracert 看不到。
tracert [-d] [-h maximum_hops] [-j computer-list] [-w timeout]
target_name
参数说明:
/d 指定不将地址解析为计算机名。
-h maximum_hops 指定搜索目标的大跃点数。
-j computer-list 指定沿 computer-list 的稀疏源路由。
-w timeout 每次应答等待 timeout 指定的微秒数。
target_name 目标计算机的名称。
一般操作方法如下:
C:>tracert www.yahoo com
Tracing route to www.yahoo.akadns net [66.218.71.81] over a maximum
of 30 hops:
1 10 ms <10 ms <10 ms 192.168.0.7
2 <10 ms 10 ms <10 ms 210.192.97.129
3 <10 ms 20 ms 10 ms 192.168.200.21
4 <10 ms 10 ms 10 ms 203.212.0.69
5 <10 ms 10 ms 10 ms 202.108.252.1
6 10 ms 10 ms <10 ms 202.106.193.201
7 10 ms 20 ms 20 ms 202.106.193.169
8 <10 ms 10 ms 10 ms 202.106.192.226
9 <10 ms 10 ms 10 ms 202.96.12.45
10 20 ms 30 ms 20 ms p-6-0-r1-c-shsh-1 cn net [202.97.34.34]
11 20 ms 30 ms 30 ms p-3-0-r3-i-shsh-1 cn net [202.97.33.74]
12 160 ms 161 ms 160 ms if-7-7.core1.LosAngeles.Teleglobe net
[207.45.193.73]
13 200 ms 201 ms 200 ms if-4-0.core1.Sacramento.Teleglobe net
[64.86.83.170]
14 190 ms 190 ms 190 ms if-2-0.core1.PaloAlto.Teleglobe net
[64.86.83.201]
15 160 ms 160 ms 160 ms ix-5-0.core1.PaloAlto.Teleglobe net
[207.45.196.90]
16 180 ms 180 ms 160 ms ge-1-3-0.msr1.pao.yahoo com
[216.115.100.150]
17 170 ms 210 ms 321 ms vl10.bas1.scd.yahoo com [66.218.64.134]
18 170 ms 170 ms 170 ms w2.scd.yahoo com [66.218.71.81]
===============================================
对于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发送的数据包大小为32byte,我们也可以自己定义它的大小,但有一个大小的限制,就是大只能发送65500byte,也许有人会问为什么要限制到65500byte,因为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计算机发送大小为65500byte的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。
218.30.100.57指的是新浪的IP地址也就是WWW.SINA.COM的IP地址!
给你举个例子吧:
C:>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Reply from 192.168.0.1: bytes=32 time<10ms TTL=128
Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
TTL:生存时间
指定数据报被路由器丢弃之前允许通过的网段数量。
TTL 是由发送主机设置的,以防止数据包不断在 IP 互联网络上永不终止地循环。转发 IP 数据包时,要求路由器至少将 TTL 减小 1。
使用PING时涉及到的 ICMP 报文类型
一个为ICMP请求回显(ICMP Echo Request)
一个为ICMP回显应答(ICMP Echo Reply)
TTL 字段值可以帮助我们识别操作系统类型。
UNIX 及类 UNIX 操作系统 ICMP 回显应答的 TTL 字段值为 255
Compaq Tru64 5.0 ICMP 回显应答的 TTL 字段值为 64
微软 Windows NT/2K操作系统 ICMP 回显应答的 TTL 字段值为 128
微软 Windows 95 操作系统 ICMP 回显应答的 TTL 字段值为 32
当然,返回的TTL值是相同的
但有些情况下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回显应答的 TTL 字段值为 64
FreeBSD 4.1, 4.0, 3.4;
Sun Solaris 2.5.1, 2.6, 2.7, 2.8;
OpenBSD 2.6, 2.7,
NetBSD
HP UX 10.20
ICMP 回显应答的 TTL 字段值为 255
Windows 95/98/98SE
Windows ME
ICMP 回显应答的 TTL 字段值为 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回显应答的 TTL 字段值为 128
这样,我们就可以通过这种方法来辨别操作系统
TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255
"bytes=32"表示ICMP报文中有32个字节的测试数据(这是估算速度的关键数据)
"time=20ms"是往返时间。
bytes=32:发送的是32字节数据包
time=20ms:发送后20ms接收到回答
TTL=54 :TTL全称Time to Live,意思就是生存周期。可以猜测,新浪是linux系统,你到新浪之间经过了11个节点
以上就是卖贝商城小编为您带来的ping命令使用方法!在使用此命令的时候,一定要注意数据包的反馈情况,如果出现乱码的问题,就说明你输入的命令有误!
卖贝商城更多商品介绍:北京博客微博营销专家 微信营销推广软件 网易企业邮箱