路由跟踪的原理tracert

windows下有个命令是 tracert (linux下是traceroute),这个命令可以找出你机器到达目标机器需要经过的路由器的链路信息。

原理就是 ip报文中有个 TTL 信息字段,这个字段最大允许256; 每个路由器转发ip报文之前,会将TTL值-1,再发出去,如果TTL减后成了0,那么将会丢弃此报文不转发,并且发送一个 ICMP time exceeded 信息给发送者。发送者可以知道发送 ICMP time exceeded 信息的路由的ip等信息,这就是关键。

于是 tracert 命令先发送TTL 是1的报文,然后再发送 TTL2 的,再发送TTL 是3 的报文,分别可以探测到第一级路由、第二级路由。。。,一直到达目标机器。凭什么判断到达目标机器,这一点我还不知道,这算是另一个话题。如那位大侠知道,请回复,谢谢

猜你喜欢

转载自kangzye.iteye.com/blog/2304812
今日推荐