今天在百度百科中看到一個(gè)朋友問在ping一個(gè)域名時(shí)返回的TTL值大好呢 還是小好呢,自己很少去判斷這個(gè)ttl一般都是判斷 time,一時(shí)也愣那了,從網(wǎng)上找了找,大概得了解了這個(gè)ping值的含義,現(xiàn)在發(fā)給大家看看,希望對(duì)TTL不明白的,也能一塊學(xué)習(xí)學(xué)習(xí)!
TTL:生存時(shí)間
指定數(shù)據(jù)報(bào)被路由器丟棄之前允許通過的網(wǎng)段數(shù)量。
TTL 是由發(fā)送主機(jī)設(shè)置的,以防止數(shù)據(jù)包不斷在 IP 互聯(lián)網(wǎng)絡(luò)上永不終止地循環(huán)。轉(zhuǎn)發(fā) IP 數(shù)據(jù)包時(shí),要求路由器至少將 TTL 減小 1。
使用PING時(shí)涉及到的 ICMP 報(bào)文類型
一個(gè)為ICMP請(qǐng)求回顯(ICMP Echo Request)
一個(gè)為ICMP回顯應(yīng)答(ICMP Echo Reply)
TTL 字段值可以幫助我們識(shí)別操作系統(tǒng)類型。
UNIX 及類 UNIX 操作系統(tǒng) ICMP 回顯應(yīng)答的 TTL 字段值為 255
Compaq Tru64 5.0 ICMP 回顯應(yīng)答的 TTL 字段值為 64
微軟 Windows NT/2K操作系統(tǒng) ICMP 回顯應(yīng)答的 TTL 字段值為 128
微軟 Windows 95 操作系統(tǒng) ICMP 回顯應(yīng)答的 TTL 字段值為 32
當(dāng)然,返回的TTL值是相同的,但有些情況下有所特殊
LINUX Kernel 2.2.x & 2.4.x ICMP 回顯應(yīng)答的 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 回顯應(yīng)答的 TTL 字段值為 255
Windows 95/98/98SE
Windows ME
ICMP 回顯應(yīng)答的 TTL 字段值為 32
Windows NT4 WRKS
Windows NT4 Server
Windows 2000
ICMP 回顯應(yīng)答的 TTL 字段值為 128
這樣,我們就可以通過這種方法來辨別
操作系統(tǒng) TTL
LINUX 64
WIN2K/NT 128
WINDOWS 系列 32
UNIX 系列 255
例如:現(xiàn)在ping www.seobye.com,得到的返回值是:
C:\Documents and Settings\Administrator>ping www.seobye.com
Pinging www.seobye.com [203.171.239.157] with 32 bytes of data:
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Reply from 203.171.239.157: bytes=32 time=12ms TTL=57
Ping statistics for 203.171.239.157:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 12ms, Maximum = 12ms, Average = 12ms
57比較接近64 中間可能通過了7個(gè)路由,由此來判斷落水魚博客所有的操作系統(tǒng)是linux的!