一,什么是ping
PING(PacketInternetGrope),因特网包探索器,用于测试网络连接量的程序。Ping发送一个ICMP回声请求消息给目的地并报告是否收到所希望的ICMP回声应答。他是怎么工作的呢,看下图
ping请求说明
二,什么是TTl
TTL:生存时间
指定数据包被路由器丢弃之前允许通过的网段数量。
TTL是由发送主机设置的,以防止数据包不断在IP互联网络上永不终止地循环。转发IP数据包时,要求路由器至少将TTL减小1。
使用PING时涉及到的ICMP报文类型:
一个为ICMR请求回显(ICMPEchoRequest)
一个为ICMP回显应答(ICMPEchoReply)
TTL字段值可以帮助我们识别操作系统类型。
UNIX及类UNIX操作系统ICMP回显应答的TTL字段值为255
CompaqTru645.0ICMP回显应答的TTL字段值为64
微软WindowsNT/2K操作系统ICMP回显应答的TTL字段值为128
微软Windows95操作系统ICMP回显应答的TTL字段值为32
当然,返回的TTL值是相同的
但有些情况下有所特殊
LINUXKernel2.2.x&2.4.xICMP回显应答的TTL字段值为64
FreeBSD4.1,4.0,3.4;
SunSolaris2.5.1,2.6,2.7,2.8;
OpenBSD2.6,2.7,
NetBSD
HPUX10.20
ICMP回显应答的TTL字段值为255
Windows95/98/98SE
WindowsME
ICMP回显应答的TTL字段值为32
WindowsNT4WRKS
WindowsNT4Server
Windows2000
WindowsXP
ICMP回显应答的TTL字段值为128
这样,我们就可以通过这种***来辨别操作系统
三,举例说明
C:DocumentsandSettings>pingblog.51yip.comPingingblog.51yip.com[173.201.152.6]with32bytesofdata:Replyfrom173.201.152.6:bytes=32time=257msTTL=45Replyfrom173.201.152.6:bytes=32time=256msTTL=45Replyfrom173.201.152.6:bytes=32time=262msTTL=45Replyfrom173.201.152.6:bytes=32time=258msTTL=45Pingstatisticsfor173.201.152.6:Packets:Sent=4,Received=4,Lost=0(0%loss),Approximateroundtriptimesinmilli-seconds:Minimum=256ms,Maximum=262ms,Average=258ms由此我们可以断定,blog.51yip.com是一台linux主机,经过了64-45=19次中转后到达本机,time=257ms,这个时间是一次请求的时间,这个时间越小,说明速度越快,越大说明速度越慢。
C:DocumentsandSettings>ping127.0.0.1Pinging127.0.0.1with32bytesofdata:Replyfrom127.0.0.1:bytes=32time<1msTTL=128Replyfrom127.0.0.1:bytes=32time<1msTTL=128Replyfrom127.0.0.1:bytes=32time<1msTTL=128Replyfrom127.0.0.1:bytes=32time<1msTTL=128Pingstatisticsfor127.0.0.1:Packets:Sent=4,Received=4,Lost=0(0%loss)Approximateroundtriptimesinmilli-seconds:Minimum=0ms,Maximum=0ms,Average=0ms在这里的TTL=128是表示二个意思:
1,请求主机是一台WINDOWS系统的电脑
2,并且没有经过路由中转,也就是请求的是本机。每次请求的时间呢,小于百万份之一秒。