每次 ping 輸出裡那個 TTL=xx 到底代表什麼?為什麼 Windows 是 128、Linux 是 64、網路設備是 255?本文從 IP 協議封包結構、TTL 生存機制、作業系統預設值指紋識別、電路邏輯電平、網路俚語五個維度,徹底講透 TTL 的前世今生。
在 IPv4 標頭(20 字節基本頭)第 9 字節(偏移 8),佔 1 字節(8 bits),範圍 0-255。
Reply from 192.168.1.1: bytes=32 time<1ms TTL=128
| 作業系統 / 設備 | 預設 TTL | 常見觀測值範圍(本地網) |
|---|---|---|
| Windows (NT 核心:XP/7/10/11/Server) | 128 | 100-130 |
| Linux / Unix / BSD / macOS / Android / iOS | 64 | 50-64 |
| Solaris / AIX / 部分 Unix | 255 | 240-255 |
| Cisco IOS / 路由器/交換機 | 255 | 240-255 |
| 網路印表機/舊式嵌入式設備 | 32/60/128 不等 | 視廠商而定 |
Ping 192.168.1.100 → TTL=114 推算:初始 128 (Windows) - 114 = 14 跳?→ 不合理(同網段最多 1-2 跳)。 實際:目標可能是 Linux 容器/虛擬機(初始 64)經過 NAT/代理修改 TTL,或目標為 Windows 但經過 14 跳(跨城/跨國)。
結論:TTL 僅能輔助判斷 OS 類別,不可作為唯一依據(可被防火牆/NAT/代理/虛擬化修改)。
tracert 正是利用 TTL 遞增發包(1,2,3…)誘導中間路由器回傳 ICMP Time Exceeded,從而繪製路徑拓撲。
關鍵區別:Ping 觀測的是「目標回包的剩餘 TTL」;Tracert 觀測的是「中間設備回報的 IP」。
Transistor-Transistor Logic(電晶體-電晶體邏輯):
+5V ≈ Logic 1,0V ≈ Logic 0。
標準 TTL:VOH ≥ 2.4V, VOL ≤ 0.4V。
廣泛用於單晶片、FPGA、邏輯分析儀、總線通訊(UART/SPI/I2C 電平轉換)。
源自中文圈網路亞文化:
T = Tomboy(T 型/男裝女/「老公」角色)
P = Po / Wife(P 型/女性裝/「老婆」角色)
TTL = T + T + L(Lesbian 縮寫?) 實際常指 T-T 戀(雙 T 戀情)。
註:此為網路亞文化術語,非技術術語,了解即可,勿混淆。
/proc/sys/net/ipv4/ip_default_ttl 混淆指紋(但破壞 traceroute 功能,不建議生產環境)。TTL(Time To Live) 是 IP 封包的「生存跳數計數器」,初始值由作業系統決定(Windows 128、Linux 64、網路設備 255),每過一層路由 -1,歸零丟棄並回報 ICMP 錯誤。
通過 Ping 觀測值可粗略推斷目標 OS 類別與大致跳數,結合 tracerert 可重建網路拓撲。
切記:TTL 可被中間設備修改,不可作為絕對鑑別依據;同名概念在電路邏輯(TTL 電平)與網路俚語中截然不同,語境為王。