ICMP 回应应答数据包的 TTL (-190) 比 ICMP 超时数据包低得多

ICMP 回应应答数据包的 TTL (-190) 比 ICMP 超时数据包低得多

当我最后三跳从我的位置到 facebook.com 的跟踪路由路径,我收到的 ICMP 回应数据包都有一个生存时间分别58、57和56。有问题的啤酒花是我的机器上的第 6、7 和 8 个啤酒花。

另一方面,ICMP 超时消息的 TTL对于在这三个跳数上过期的数据包,都有一个合理的值:246、248、249。

现在返回路径可能与前进路径并且对于不同类型的ICMP消息,它可能不一样。

但这种差异从何而来?200 跳循环沿路径发送?或者 ICMP 回应应答数据包的 TTL 值较低(远低于 255:这种情况真的会发生吗?)?

答案1

根据用户 kwaio的建议,生成时使用的默认(或通用)TTL值ICMP 回显请求回音应答包是64

就我的情况而言,我所选路径上的第一个路由器以 TTL=255(在源处)的回显答复消息进行响应,而最后一个路由器以 TTL=64 进行响应。

相反的是ICMP 超时在所有情况下创建的消息的 TTL 均为 255。

经过一番挖掘,我发现不同的供应商和不同的操作系统对不同的协议采用不同的初始 TTL:binbert.com/blog/2009/12/default-time-to-live-ttl-values

一个有趣的含义是,您可以通过让数据包在路由器上过期并向其发送 ping 来识别给定路由器的制造商。更多详细信息请参见: 基于 TTL 的指纹识别和 MPLS完整文章如下:“网络指纹识别:基于 TTL 的路由器签名”

相关内容