查看: 4526|回复: 11

关于TTL返回值的问题

[复制链接]
发表于 2007-2-11 14:43:55 | 显示全部楼层 |阅读模式
一台2003的服务器

我用ping命令查询的TTL返回值为49

我用tracert命令查询到达目标要经过15跳

那么这里总的TTL生存时间为64

现在我的问题就是,生存时间是根据对方服务器的设置而变动的吗?

请知道的朋友指点下,谢谢~!
回复

使用道具 举报

发表于 2007-2-11 18:05:15 | 显示全部楼层
一个设备发出IP包的TTL的初始值是可以自己设定的
回复

使用道具 举报

发表于 2007-2-11 21:18:08 | 显示全部楼层
通常情况下,如果路由器使用的是LINUX OS,则返回的TTL为64,WINDOWS OS为128
回复

使用道具 举报

发表于 2007-2-11 22:14:43 | 显示全部楼层
一个计算机系统的TTL是可以自定义的。

不过有的路由比较诡异,过它不会减少数据报的TTL。(我发誓我遇到过)
理解一下,其实也不难实现,无非是在转发算法上做了改动而已。
回复

使用道具 举报

 楼主| 发表于 2007-2-13 13:50:42 | 显示全部楼层
那这里我把服务器的TTL值改为14
那么我再次ping,是否回显示生存时间过期呢?
望指点,谢谢~!
回复

使用道具 举报

 楼主| 发表于 2007-2-14 21:32:38 | 显示全部楼层
怎么还不见人来回答啊
回复

使用道具 举报

发表于 2007-2-15 00:25:23 | 显示全部楼层
如果一个数据报的TTL在抵达一个路由器的时候只剩下1,那么这个路由就会把该数据报丢弃,并给源地址发送一个ICMP 2的报文,通知源主机数据报因TTL耗尽而被丢弃。

如果在原始套接字里,TTL是可以随意设置的。
但是Windows系统对原始套接字限制比较多,xp的限制应该是最多的。
2000相对很好,适合试验用。

评分

1

查看全部评分

回复

使用道具 举报

发表于 2007-2-15 10:17:59 | 显示全部楼层
原帖由 逍遥一指令 于 2007-2-13 13:50 发表
那这里我把服务器的TTL值改为14
那么我再次ping,是否回显示生存时间过期呢?
望指点,谢谢~!

不会,因为你改的是服务器(我假设服务器是你要ping的目标主机)发出的数据包的TTL,而不是你发出的Ping数据包的TTL
如果你在ping的命令行带-i参数,修改本机发出的Ping数据包的TTL,那你才可能收到TTL expired的返回。
回复

使用道具 举报

发表于 2007-2-15 11:01:25 | 显示全部楼层
原帖由 逍遥一指令 于 2007-2-13 13:50 发表
那这里我把服务器的TTL值改为14
那么我再次ping,是否回显示生存时间过期呢?
望指点,谢谢~!


理论上来说
你的ICMP请求将被服务器收到,而服务器的回答因为TTL的原因没有返回到你这边.
所以结果应该是,你这边是request timed out,而服务器会收到ttl expired的错误
回复

使用道具 举报

发表于 2010-4-20 09:56:42 | 显示全部楼层
经过的条数=源端TTL的默认值—捕获到得数据包的TTL
其中某端的TTL值是可以改变的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

快速回复 返回顶部 返回列表