traceroute是检测到目的主机路由的工具,它并不能保证从本机发出的两个IP数据报有相同的路由。
原理是:traceroute发送udp数据报,先发送TTL为1的,到第一个路由器TTL减1,并返回一个超时的ICMP报文,这样就得到了第一个路由器的地址;接下来发送TTL值为2的报文,得到第二个路由器的报文;到目的主机的时候,并不会返回超时ICMP报文,而是udp发送到一个不可能到达的目的端口,这样就能返回一个“端口不可达”的错误。这样traceroute也就完成了任务。
简单的说traceroute是发送ICMP,包去不用回来,TTL不断累加。Ping命令也是发送ICMP包,有去必须有回包,TTL不变的。
时间: 2024-10-20 12:56:33