如果我嗅探我的计算机并看到一些 TTL=64 的数据包,是否意味着该数据包来自我网络内的计算机,或者可能是 WWW 中的任何人?
我知道 TTL 是什么。但我试图弄清楚 TTL=64 到底是什么意思。
答案1
TTL 是生存时间。每跳一次,此字段的值就会减一,如果值达到 0,则数据包将被丢弃(通常这种情况只发生在循环情况下)。这可确保在存在 IP 路由循环的情况下数据包不会堵塞网络。数据包的发送者可以将 TTL 设置为任意值,最高可达 255。
答案2
另一种可能性是,你看到的数据包根本无法到达你计算机外部的网络,即
PING 本地主机(127.0.0.1):56 个数据字节 来自 127.0.0.1 的 64 字节:icmp_seq=0 ttl=64 时间=0.048 毫秒 来自 127.0.0.1 的 64 字节:icmp_seq=1 ttl=64 时间=0.134 毫秒 来自 127.0.0.1 的 64 字节:icmp_seq=2 ttl=64 时间=0.139 毫秒
答案3
64 是数据包在被丢弃之前可以传输的跳数。难以到达的跨 Internet 跳数的主机受益于数据包的较大 TTL。在多播协议中,64 用于将数据包限制到同一物理区域。您可能正在查看多播协议。
答案4
如果你研究一下你就会知道 ttl=64 基本上就是服务器使用的操作系统,在你的情况下它使用基于 Linux 的服务器 ttl=128 windows 操作系统