IP协议包中的TTL(Time-To-Live)
TTL(Time-To-Live)的作用是限制數據包在網絡中存在的時間,防止數據包不斷的在IP互聯網絡上循環。
TTL指定數據包被路由器丟棄之前允許通過的最大網段數量,是IP數據包在網絡中可以轉發的最大跳數(躍點數),TTL位于IPv4包的第9個字節,是一個8 bit字段。
TTL字段由數據包的發送者設置,路由器轉發數據包時,至少將TTL減小1。路由器將會丟棄TTL=0的數據包,并向數據包源地址發送一個類型11的ICMP報文,表示time exceeded(TTL為0),由發送者決定是否要重發。
TTL的最大值是255,推薦值是64,windows中TTL默認值保存在注冊表HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下的DefaultTTL(DWORD)中,修改設置后重啟才生效。
ping命令結果中的TTL:來自 192.168.1.1 的回復: 字節=32 時間<1ms TTL=64
ping -i 1 8.8.8.8后可抓到Time-to-live exceeded的數據包,wireshark抓包使用icmp.type == 11過濾對應的ICMP包:Time-to-live exceeded (Time to live exceeded in transit),抓包中可以根據TTL值判斷數據包是否被中間設備偽造。
在域名系統 (DNS)中的TTL存活時間,用以設定域名紀錄的最長緩存時間。
轉載請注明出處:6san.com?
原文地址:?http://www.6san.com/1229/
總結
以上是生活随笔為你收集整理的IP协议包中的TTL(Time-To-Live)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Json转对象 调用toBean
- 下一篇: 轨迹规划-二次规划QP