Closed azl397985856 closed 4 years ago
网络层ip报文首部有个TTL(time-to-live)字段,每次到达新的ip地址,都会减1,如果TTL === 0且没有到达目标地址,当前ip会向源地址通过ICMP发送一个报错消息。
traceroute 通过设置不同的TTL来确定路由情况,traceroute发送UDP包,第一个包TTL设为1,第二包设为2。。最大设置64(64hops), 源地址通过路由返回的出错信息,记录到达中间路由的ip以及耗时。 traceroute会将udp目标地址的端口设的很多,确保到达目标后也会有错误信息返回,记录到达目标的ip以及耗时
traceroute 可以用追踪路由,比如:
请问它是怎么做到的?