一,什么是ping
PING(PacketInternetGrope),因特網(wǎng)包探索器,用于測試網(wǎng)絡連接量的程序。Ping發(fā)送一個ICMP回聲請求消息給目的地并報告是否收到所希望的ICMP回聲應答。他是怎么工作的呢,看下圖
ping請求說明
二,什么是TTl
TTL:生存時間
指定數(shù)據(jù)包被路由器丟棄之前允許通過的網(wǎng)段數(shù)量。
TTL是由發(fā)送主機設置的,以防止數(shù)據(jù)包不斷在IP互聯(lián)網(wǎng)絡上永不終止地循環(huán)。轉發(fā)IP數(shù)據(jù)包時,要求路由器至少將TTL減小1。
使用PING時涉及到的ICMP報文類型:
一個為ICMR請求回顯(ICMPEchoRequest)
一個為ICMP回顯應答(ICMPEchoReply)
TTL字段值可以幫助我們識別操作系統(tǒng)類型。
UNIX及類UNIX操作系統(tǒng)ICMP回顯應答的TTL字段值為255
CompaqTru645.0ICMP回顯應答的TTL字段值為64
微軟WindowsNT/2K操作系統(tǒng)ICMP回顯應答的TTL字段值為128
微軟Windows95操作系統(tǒng)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
這樣,我們就可以通過這種***來辨別操作系統(tǒng)
三,舉例說明
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主機,經(jīng)過了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系統(tǒng)的電腦
2,并且沒有經(jīng)過路由中轉,也就是請求的是本機。每次請求的時間呢,小于百萬份之一秒。