詳解ping命令TTL

2022-02-20 21:42:53 字數 1681 閱讀 7951

ttl:(time to live ) 生存時間,是指定資料報被路由器丟棄之前允許通過的網段數量,也就是說這個ping的資料報能在網路上存在多少時間。

當我們對網路上的主機進行ping操作的時候,我們本地機器會發出乙個資料報,資料報經過一定數量的路由器傳送到目的主機,但是由於很多的原因,一些資料報不能正常傳送到目的主機,那如果不給這些資料報乙個生存時間的話,這些資料報會一直在網路上傳送,導致網路開銷的增大。當資料報傳送到乙個路由器之後,ttl就自動減1,如果減到0了還是沒有傳送到目的主機,那麼就自動丟失。

被自動丟棄的包,也就像我們ping的時候出現request timed out的情況了,這時就是採用增加ttl的方法來減少資料報無目的的遊蕩而增加網路資源的消耗。

預設情況下,linux系統的ttl值為64或255,windows nt/2000/xp系統的ttl值為128,windows 98系統的ttl值為32,unix主機的ttl值為255。(這個是從網路上找到的),曙光部落格的目的主機是採用freebsd系統的,在這裡可能ttl值是64,而不是unix主機的255,所以在從我這裡到目的主機經過了64-51=13個路由。當我們不知道目的主機的作業系統的時候我們可以根據ttl來猜測,但是不一定100%準確,如果目的主機是windows,但是經過了比如75個路由器,那麼ttl的返回值是128-75=53,那麼你可能認為這個目的主機是linux系統,但是一般不會經過那麼多的路由器,所以通過ttl來判斷目的主機的作業系統還是有一定的依據的。

使用ping時涉及到的 icmp 報文型別

乙個為icmr請求回顯(icmp echo request)

乙個為icmp回顯應答(icmp echo reply)

ttl 字段值可以幫助我們識別作業系統型別。

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

windows xp

icmp 回顯應答的 ttl 字段值為 128

這樣,我們就可以通過這種方法來辨別作業系統

ttl值的登錄檔位置hkey_local_machine/system/currentcontrolset/services/tcpip/parameters 其中有個defaultttl的dword值,其資料就是預設的ttl值了,我們可以修改,但不能大於十進位制的255

ping命令TTL的意思

生存時間 time to live 指定 資料報被 路由器丟棄之前允許通過的網段數量。它是ip 中文全稱 網路協議 協議包中的乙個值,它告訴 網路,資料報在網路中的時間是否太長而應被丟棄。中文名生存時間 外文名time to live 外語縮寫 ttl 寓 意 網域名稱解析在dns伺服器中存留時間 ...

關於PING命令TTL值的理解

關於ttl值 ttl值是生存時間 time to live 的縮寫,ip包被路由器丟棄之前允許通過的最大網段數量。雖然意思是生存時間,但看這個解釋是不是有點讓人摸不清頭腦?好那麼我們可以看看ip資料報,這個ttl值到底是指什麼?結果我幹了一件事就是ping了www.baidu.com的網域名稱,我們...

ping 命令詳解

ping命令詳解 系統內建的 網路測試工具ping1 ping命令的語法格式ping命令看似小小的乙個工具,但它帶有許多引數,要完全掌握它的使用方法還真不容易,要達到熟練使用則更是難下加難,但不管怎樣我們還得來看看它的真面目,首先我們還是從最基本的命令格式入手吧!ping命令的完整格式如下 ping...