![Wireshark:为什么 DNS 响应的 TTL 值不是 128?](https://linux22.com/image/1388511/Wireshark%EF%BC%9A%E4%B8%BA%E4%BB%80%E4%B9%88%20DNS%20%E5%93%8D%E5%BA%94%E7%9A%84%20TTL%20%E5%80%BC%E4%B8%8D%E6%98%AF%20128%EF%BC%9F.png)
我只是想寻求有关 Wireshark 问题的帮助。
如果 DNS 查询的 TTL 值始终为 128,为什么响应 TTL 不是 128?
DNS 查询 TTL 默认是否始终为 128 以及响应变量还是仅仅是我使用 Wireshark 运行的捕获?
答案1
正如 MadHatter 所说,这是正常现象。每当数据包进行一次跳跃(穿过路由器或网关)时,TTL 都会减少 1。
这用于防止数据包无限期地在网络中循环 - 如果 TTL 达到零,则数据包将被丢弃。
在您的示例中,当您发送初始 DNS 查询时,数据包的起始 TTL 为 128。当您收到响应时,数据包上的 TTL 已减少了您与您查询的 DNS 服务器之间的跳数。