2015-01-14 942
traceroute是检测到目的主机路由的工具,它并不能保证从本机发出的两个IP数据报有相同的路由。
原理是:traceroute发送udp数据报,先发送TTL为1的,到第一个路由器TTL减1,并返回一个超时的ICMP报文,这样就得到了第一个路由器的地址;接下来发送TTL值为2的报文,得到第二个路由器的报文;到目的主机的时候,并不会返回超时ICMP报文,而是udp发送到一个不可能到达的目的端口,这样就能返回一个“端口不可达”的错误。这样traceroute也就完成了任务。
简单的说traceroute是发送ICMP,包去不用回来,TTL不断累加。Ping命令也是发送ICMP包,有去必须有回包,TTL不变的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。