iT邦幫忙

1

TTL預設跳數

  • 分享至 

  • xImage

我知道在標準原則的前提下,封包跨L3節點TTL會扣1,也知道不同系統可能有不同的預設TTL值,可是如下輸出,我的win11 TTL到底是128還是64呢?
ping迴路地址寫128、ping乙太網路卡也是128、ping GW卻是64
C:\Windows\System32>ping 127.0.0.1 -n 1

Ping 127.0.0.1 (使用 32 位元組的資料):
回覆自 127.0.0.1: 位元組=32 時間<1ms TTL=128

127.0.0.1 的 Ping 統計資料:
封包: 已傳送 = 1,已收到 = 1, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
最小值 = 0ms,最大值 = 0ms,平均 = 0ms

C:\Windows\System32>ping 192.168.57.1 -n 1

Ping 192.168.57.1 (使用 32 位元組的資料):
回覆自 192.168.57.1: 位元組=32 時間<1ms TTL=128

192.168.57.1 的 Ping 統計資料:
封包: 已傳送 = 1,已收到 = 1, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
最小值 = 0ms,最大值 = 0ms,平均 = 0ms

C:\Windows\System32>ping 192.168.57.254 -n 1

Ping 192.168.57.254 (使用 32 位元組的資料):
回覆自 192.168.57.254: 位元組=32 時間<1ms TTL=64

192.168.57.254 的 Ping 統計資料:
封包: 已傳送 = 1,已收到 = 1, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
最小值 = 0ms,最大值 = 0ms,平均 = 0ms

C:\Windows\System32>
假設以ping+tracert能證明預設TTL,那我的目標地址是168.95.1.1
C:\Windows\System32>ping 168.95.1.1 -n 1

Ping 168.95.1.1 (使用 32 位元組的資料):
回覆自 168.95.1.1: 位元組=32 時間=3ms TTL=57

168.95.1.1 的 Ping 統計資料:
封包: 已傳送 = 1,已收到 = 1, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
最小值 = 3ms,最大值 = 3ms,平均 = 3ms

C:\Windows\System32>tracert 168.95.1.1

在上限 30 個躍點上
追蹤 dns.hinet.net [168.95.1.1] 的路由:

1 <1 ms <1 ms <1 ms 192.168.57.254
2 3 ms 1 ms 3 ms 59-116-236-254.dynamic-ip.hinet.net [59.116.236.254]
3 3 ms 2 ms 2 ms clpy-3331.hinet.net [168.95.104.70]
4 3 ms 3 ms 4 ms tpdb-3031.hinet.net [220.128.2.34]
5 3 ms 10 ms 5 ms tpdb-3311.hinet.net [220.128.3.189]
6 3 ms 2 ms 3 ms 210-59-204-217.hinet-ip.hinet.net [210.59.204.217]
7 4 ms 3 ms 5 ms 220-128-32-69.hinet-ip.hinet.net [220.128.32.69]
8 3 ms 2 ms 2 ms dns.hinet.net [168.95.1.1]

追蹤完成。
如果我的假設成立,我的預設TTL跳數是57+7=64,可是我再去ping其他地址如8.8.8.8,此假設便不成立,如下
C:\Windows\System32>ping 8.8.8.8 -n 1

Ping 8.8.8.8 (使用 32 位元組的資料):
回覆自 8.8.8.8: 位元組=32 時間=3ms TTL=117

8.8.8.8 的 Ping 統計資料:
封包: 已傳送 = 1,已收到 = 1, 已遺失 = 0 (0% 遺失),
大約的來回時間 (毫秒):
最小值 = 3ms,最大值 = 3ms,平均 = 3ms

C:\Windows\System32>
莫非,不同的目標地址會自動以不同的TTL去跳? 以上向大神們請教

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
雷峰
iT邦研究生 1 級 ‧ 2022-11-25 17:30:00
最佳解答

您要詢問的是「我的win11 TTL到底是128還是64呢?」這個問題嗎?

ping迴路地址寫128、ping乙太網路卡也是128、ping GW卻是64
上面這三個,前兩個是ping本機的概念,最後一個TTL=64是你的GW告訴你的,可能你的GW是纇Linux OS。

Windows系列的大部分都是128,然後這個值其實是可以修改的唷!
因為有些駭客會從TTL來判斷目標是什麼OS。

0
zyman2008
iT邦大師 6 級 ‧ 2022-11-20 08:42:37

莫非,不同的目標地址會自動以不同的TTL去跳?

魔鬼藏在細節裡.
Ping 的結果有告訴你答案, 它顯示對方回覆數據包的 TTL.

Ping 192.168.57.254 (使用 32 位元組的資料):
回覆自 192.168.57.254: 位元組=32 時間<1ms TTL=64

請善用數據包抓包軟件 Wireshark 分析,
https://ithelp.ithome.com.tw/upload/images/20221120/200208045o2G0ra0zI.jpg

我要發表回答

立即登入回答