ping命令返回的TTL值判斷操作系統(tǒng)
通過簡單的ping命令,查看返回的TTL值來判斷對方的操作系統(tǒng)
生存時間(TTL)是IP分組中的一個值,網(wǎng)絡(luò)中的路由器通過察看這個值就可以判斷這個IP分組是不是已經(jīng)在網(wǎng)絡(luò)中停留了很久,進而決定是否要將其丟棄。出于多種原因,一個IP分組可能在很長一段時間內(nèi)不能抵達目的地。例如:錯誤的路由有可能導(dǎo)致一個IP分組在網(wǎng)絡(luò)中無限地循環(huán)。一種解決方法就是在一定時間后丟棄這個分組,然后發(fā)送一個信息通知這個分組的發(fā)送者,由它決定是否重發(fā)這個分組。TTL的初始值一般是系統(tǒng)缺省值,它位于IP分組的頭部,占用8個二進制位。最初設(shè)定TTL值的目的是,讓它來指定一段特定的時間(以秒為單位),當(dāng)這段時間耗盡的時候就將這個分組丟棄。由于每個路由器至少會讓這個TTL值減一,所以這個TTL只經(jīng)常用來指定在一個分組被丟棄之前允許經(jīng)過的路由器數(shù)。每個路由器收到一個分組后就將它的TTL 值減一,一旦這個值被減為0,路由器就會丟棄這個分組,并發(fā)送一個ICMP信息給這個分組的最初的發(fā)送者。
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
注:ICMP報文的類型包括如下:
ECHO (Request (Type 8), Reply (Type 0))--回顯應(yīng)答,
Time Stamp (Request (Type 13), Reply (Type 14))--時間戳請求和應(yīng)答,
Information (Request (Type 15), Reply (Type16))--信息請求和應(yīng)答,
Address Mask (Request (Type 17), Reply (Type 18))--地址掩碼請求和應(yīng)答等
不同的操作系統(tǒng),它的TTL值是不相同的。默認(rèn)情況下:
Linux系統(tǒng)的TTL值為64或255,
Windows NT/2000/XP系統(tǒng)的TTL值為128,
Windows 98系統(tǒng)的TTL值為32,
UNIX主機的TTL值為255。
公司使用的是多數(shù)為Windows 2000服務(wù)器,TTL值默認(rèn)為128,如果將該值修改為255,攻擊者可能會以為這個服務(wù)器是Linux系統(tǒng)或UNIX系統(tǒng),那么他們就會針對Linux系統(tǒng)或UNIX系統(tǒng)來查找Windows 2000服務(wù)器的安全漏洞,不過他們是不會找到什么安全漏洞的,這樣一來,服務(wù)器相來說增加了安全性。
具體實現(xiàn)方法:
修改TTL值其實非常簡單,通過注冊表編輯器就可以實現(xiàn),點擊“開始→運行”,在“運行”對話框中輸入“regedit”命令并回車,彈出
“注冊表編輯器”對話框,展開“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\ Parameters”,找到“DefaultTTL”,將該值修改為十進制的“255”,重新啟動服務(wù)器系統(tǒng)后即可。
posted on 2013-10-23 10:51 順其自然EVO 閱讀(514) 評論(0) 編輯 收藏 所屬分類: linux