一,什么是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,并且沒有經過路由中轉,也就是請求的是本機。每次請求的時間呢,小于百萬份之一秒。