本文共 855 字,大约阅读时间需要 2 分钟。
Tracert的工作原理:Tracert使用IP包的TTL值和ICMP错误消息来判断主机达到目标地址中间经过的路由个数;首先,Tracert发送一个UDP包的端口大于30000,TLL值为1,一次性发送3个包,因为UDP是不可靠的,所以发送3个包保证传输的可靠性,只要有一个包达到目标即可;在路径上的第一个路由器收到包之后,TTL值减1,此时TTL值为0,路由器就会丢弃数据包,返回一个ICMP Replay包(包括发送方路由器的IP地址等);Tracert收到ICMP Replay包之后,知道下一跳的IP地址是存在;Tracert第二次发送一个和第一个数据包端口一样的,TTL值位2,当路径上第二台路由器收到数据包之后,TTL值减1,此时TTL值为0(每经过一个路由器,TTL值减1),这个重复的动作持续到数据包达到目的地;当目的地收到这个数据包时,发现自己并没有这个端口号,就会返回一个端口不可达的ICMP Replay包,此时,tracert就知道到达目的地了。
1、默认已经配好IP地址 and 路由选中R2的Ethernet0/0/0端口进行抓包2、在R1路由器 tracert 路由器R5的IP地址 1.1.4.23、R1访问R5的端口30005,TTL值为14、当R2路由器收到R1发送的数据包之后,发现TTL值为1,因转发一台路由器,TTL值减1,那么R2发现TTL值为0就不会再继续转发数据包,就会告诉R1,TTL值已超出,此时R1也就知道了他的下一跳的IP地址是1.1.1.25、当数据包达到目的地后,R5发现没有30005这个端口,就告诉R1端口不可达。转载于:https://blog.51cto.com/158573116/2406343