【滲透技巧】Ping命令返回的TTL值詳解
Time To Live (TTL) 域的信息很有趣。每一個被發送出的IP信息包都有一個TTL域,該域被設置為一個較高的數值(在本例中ping信息包的TTL值為255)。當信息包在網絡中被傳輸時,TTL的域值通過一個路由器時遞減1;當TTL 遞減到0時,信息包被路由器拋棄。
IP規范規定:TTL應該被設置為60 (盡管ping 信息包的TTL是255)。這樣做主要是為了讓一個信息包永遠在為了中存在。擔該信息對我們來說有特殊的含義。我們可以使用TTL大致確定該信息包經過了多少個路由器過渡段。在本例中,用255減去N,N是返回的回送答復的TTL。如果TTL值在連續幾個ping中發生變化,這說明返回的信息包經過了不同的路由器。
time顯示了信息包到達遠程主機后返回的時間。計算定位為毫秒。通常網卡下,來回時間在200毫秒以下最好。信息包抵達目的地的時間叫做latency(等待時間),如果你看到來回時間變化很大(叫做"jitter(抖動)),這說明同主機之間的聯接狀況很差。但是如果在較大抽樣范圍(50到100)內出現幾個這樣的情況也不必擔心。
要退出ping, 則鍵入control-c。這激昂中止該程序并打印總結:有多少信息包被傳輸,有多少信息包被接收到,丟失的信息包的比例,以及信息包來回時間的最低、最高和平均值。
ping是測試為了聯接狀況以及信息包發送和接收狀況非常有用的工具。
對應的TTL值有什么特別的含意呢?
ttl每經過一個ip子層就減少1
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