在linux上为跟踪
Tracert命令使用IP生存时间(TTL )字段和ICMP错误消息来确定从一台主机到网络上另一台主机的路径。
首先,tracert将TTL为1的IP包发送到目标,当路径上的第一个路由器收到此包时,它将TTL减少1。 此时,由于TTL为0,路由器将丢弃此数据包并发回“ICMP time exceeded”消息,包括发送IP数据包的源地址、IP数据包的所有内容以及路由器的IP地址tracert收到此消息后,它知道此路由器存在于此路径中,并发出TTL为2的另一个包的第二个路由器。tracert每次将1加到所发出包的TTL上时,都会发现另一个路由器,然后返回一个包当包到达目标时,该主机不会发回ICMP time exceeded消息。 到达目标后,tracert会向UDP包中不常见的端口(30000或更高)发送数据包,因此会收到“icmp端口不取消reachable”消息,从而可以确定到达目标。
跟踪有一定的时间等待响应(ICMP TTL过期消息)。 经过此时间后,将打印一系列*号。 在此路径中,此设备无法在指定时间内发出ICMP TTL过期消息的响应。 然后,Tracert将TTL标记加1并继续。 (注意:默认值最多可在30个跃点结束)
图4-5-1跟踪命令
图4-5-2跟踪发送的数据包(按TTL升序)
图4-5-3跟踪收到的数据包