首页 > 编程知识 正文

tracert工作过程,windows tracert命令

时间:2023-05-03 20:51:46 阅读:58920 作者:2118

Traceroute程序被设计为利用ICMP和IP header的时间到生命(TTL )字段(field )。 首先,traceroute向发送目的地发送包括TTL为1的IP datagram (实际上是发送源地址、发送目的地地址、包发行的时间标签在内的3个40字节的包,路径上的第一个路由器)接收该datagram 此时,由于TTL为0,路由器放弃该datagram,返回“ICMP time exceeded”消息(包括发送IP包的源地址、IP包的所有内容和路由器的IP地址) traceroute随后发送另一个TTL2datagram以发现第二个路由器。 ……traceroute在发送的datagram的TTL上每次加1就会发现另一个路由器。 这个反复的动作一直持续到某个datagram到达目的地为止。 datagram到达目标后,主机不会返回ICMP time exceeded消息。 既然已经是目的地,traceroute如何知道目的地到达了呢?

Traceroute将UDP datagrams发送到目的地时,选择发送的端口编号是一般APP应用程序中不使用的编号(30000以上),因此在该UDP datagram到达目的地后,主机会显示“icmp port unber 因此,跟踪在服务器端也没有所谓的Daemon程序。

Traceroute提取发送ICMP TTL过期消息的设备的IP地址并解析域名。 每次,Traceroute都会打印一系列数据。 这包括通过的路由设备的域名和IP地址,并包括三个数据包每次往返所需的时间。

跟踪有一定的时间等待响应(ICMP TTL过期消息)。 经过此时间后,将打印一系列*号。 在此路径中,此设备无法在指定时间内发出ICMP TTL过期消息的响应。 然后,Traceroute将TTL标记加1并继续。

转载于:https://www.cn blogs.com/02 xiaoma/archive/2012/09/04/2669800.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。