Etian
ITAA会员
注册时间: 2006-4月-21
所在地: India
在线状态: 离线
发帖数: 281 发表: 2006-7月-11 03:11 | IP已记录
--------------------------------------------------------------------------------
今天才真正明白,ping和traceroute的机理是不同的
ping是发送icmp协议的echo request和echo relay的过程,它只发送或者接受这两种icmp报文,对于其它类型的icmp查询报文,服务器必须响应标示符合序列号字段, 而且客户选项的数据必须回显。
可是 traceroute是基于TTL的,他经过一个处理它的路由器,TTL值就减去1,直到TTL为0,数据报被丢弃,并发送包含 超时icmp信息的报文通知源主机。
比方说,总共3跳的通路,traceroute
先发送TTL=1的,到第一跳,减去1变为0,数据报被丢弃,超时icmp 报文通知源
发送TTL=2的,到第一跳,减去1变为1,数据报继续,到第二跳,减去1变为0,数据报被丢弃,超时icmp报文通知源
发送TTL=3的,到第一跳,减去1变为2,数据报继续,到第二跳,减去1变为1,数据报继续,到第三跳,减去1变为0,数据报 被丢弃,超时icmp报文通知源
这样逐步跟踪到目的主机,TTL=0,显示出中间的跳数
ping的record功能可以记录ping过去和回来时所经过的跳数 ,最大为9跳(因为IP首部的“选项”功能开启后又40个字节的选项空间,刚好容纳10个IP地址,而record功能被设置后 ,长度为39个字节,“code”“len”“ptr”各占用一个字节,剩下37个字节容纳9个IP地址),所以它相当于9个p ing的过程,不断的echo request 和echo relay,最后全部记录下来。
traceroute只是记录过去的跳数
ping -r和traceroute都记录跳数,只是机理不同
TTL缺省
unix 255 无线路由255 windows64
__________________
心有惊雷,而面若平湖者,可拜上将军!
真的勇士,敢于直面淋漓的鲜血,敢于正视惨淡的人生!!