Traceroute的原理
Traceroute原理:
- 收到目的主机IP
- 给目的主机发送一个TTL=1(TTL指生存时间)的udp数据包,而经过的第一个路由器收到这个数据包之后,自动把TTL减去1,而TTL变为0之后,路由器就将这个数据包抛弃了,并同时产生一个主机不可达的ICMP超时数据报给主机。
- 主机收到这个ICMP数据报以后,会发送一个TTL=2的数据报给目的主机,然后刺激第二个路由器给主机发送ICMP数据报,如此反复,直到到达目的主机。
- 如此,Traceroute就可以拿到所有路由器的IP。
那么怎么知道UDP到没到达目的主机呢?
而traceroute发送的是端口30000的UDP报(一般网络程序只会监控少数的较小的端口),所以到达目的主机的时候,目的主机只能发送一个端口不可达的ICMP数据报给主机。主机接到这个报告以后就知道目的主机到了。
如有错误,欢迎指正。

浙公网安备 33010602011771号