首页/网络/抓包与流量分析速查/Wireshark 按 TTL 过滤
Wireshark 技巧75 条

Wireshark 按 TTL 过滤

ip.ttl 过滤 TTL 值:可推断对端初始 TTL(64/128/255)与经过的跳数,也可帮助判断某包是否来自异常路径或伪造源。

按 TTL 过滤

IP 头的 TTL 字段每经过一跳就减一,用 ip.ttl 过滤可以推断对端发送时的初始值(常见 64、128、255),初始值减当前值近似等于经过的跳数。排查异常路径、判断报文是否来自可疑位置、识别 traceroute 探测包都用得上。要注意 TTL 可被中间设备改写,推断只能当作旁证。

基本信息

适用平台Wireshark 显示过滤器(ip.ttl)
常见初始值Linux/Unix 64、Windows 128、网络设备 255
跳数估算初始值减去当前 TTL
协议依据RFC 791 定义 TTL,IPv6 中对应跳数上限

典型使用场景

  • 推断对端系统类型:TTL 初值在操作系统间差异明显,可作旁证
  • 定位异常路径:同一目标出现两种初值,说明中间存在多路径或代理
  • 识别 traceroute:TTL 为 1、2、3 的报文属正常探测行为
  • 判断源地址可疑:TTL 与物理位置明显不符时提高警惕
  • 与设备日志联动:日志里记录的跳数可与抓包互相印证

常用示例

常用示例
ip.ttl < 64 && ip.src == 203.0.113.10   # 该源来的包经过了至少一跳
ip.ttl == 1                              # 常见于 traceroute 的首跳探测
dns && ip.ttl < 60                       # 找出可能被改写过的 DNS 应答
ip.ttl == 255 && ip.src == 10.0.0.1      # 同网段网络设备发来的包

初值速查

初始 TTL常见来源可作推断
64Linux、Unix、macOS 及多数网络服务类 Unix 系统
128Windows 系列Windows 客户端或服务器
255路由器、交换机等网络设备网络基础设施
两种混用存在多路径或代理需进一步确认,不能直接定性
所谓常见初始值只是经验统计,设备和发行版都能在参数里改。把它当旁证而不是铁证,结论要与资产信息、网段划分和日志一起看。
负载均衡、代理或做 NAT 的设备可能重写 TTL,跨过这类设备之后再推算跳数会失真,跨网段比较时尤其要留意。
IPv6 里对应这个概念的字段叫跳数上限,在 Wireshark 中写作 ipv6.hlim,过滤时要换字段名。把 IPv4 的初值经验直接套到 IPv6 报文上容易得出错误结论。

易错点

  • TTL 可被中间设备改写(如负载均衡、代理),推断跳数仅作参考
  • traceroute 的 TTL 递增探测会产生 TTL=1/2/3 的包,属正常现象
  • 用 TTL 直接给操作系统定性:容器与嵌入式设备常常不按惯例取值
  • 只看单个包的 TTL 就下结论样本太少,应先按流统计分布再判断
  • 同一抓包里出现两种初值很常见,按单一初值去推断来源,会把正常的多路径或代理环境误判成异常

数据来源与参考

  • Wireshark 显示过滤器参考(ip.ttl)
  • RFC 791(TTL 字段)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌