路由命令tracertroute(追踪路由的网络命令)

简介:

Tracert(traceroute) 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。用来跟踪到目的IP所经过路径

原理简介

首先,tracert送出一个TTL是1的IP 数据包到目的地,当路径上的第一个路由器收到这个数据包时,它将TTL减1。此时,TTL变为0,所以该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),tracert 收到这个消息后,便知道这个路由器存在于这个路径上,接着tracert 再送出另一个TTL是2 的数据包,发现第2 个路由器…… tracert 每次将送出的数据包的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个数据包 抵达目的地。

LINUX下的目的地到达判断方法:

当数据包到达目的地后,该主机则不会送回ICMP time exceeded消息,一旦到达目的地,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包给目的主机,因此会收到「ICMP port unreachable」消息,故可判断到达目的地。

WINDOWS下的目的地到达判断方法

发送的报文如果到达终点,会向目的地地址发送ICMP请求回显数据包

注意:

tracert 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号,表明在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Tracert给TTL记数器加1,继续进行。

示例如下:

在windows cmd命令窗口执行命令tracert www.baidu.com,结果如下:

路由命令tracertroute(追踪路由的网络命令)

过程分析如下:

1)解析域名,主机发起查询DNS记录,并将请求转到网关处理(网关代理),网关返回域名的对应的IP

路由命令tracertroute(追踪路由的网络命令)

2)主机发送TTL=1, 等待第一个路径节点(一般是网关)返回ICMP time exceeded消息到主机后,再次发送TTL=2的请求

路由命令tracertroute(追踪路由的网络命令)

3)第二个路径节点返回ICMP time exceeded消息到主机后,再次发送TTL=3的请求

路由命令tracertroute(追踪路由的网络命令)

4)路径不可达,则会在cmd窗口打印* * *,然后将TTL+1,如下所示:

路由命令tracertroute(追踪路由的网络命令)

5)tracert发送的报文如果到达终点,会向目的地地址发送ICMP请求回显数据包,如下图所示:

路由命令tracertroute(追踪路由的网络命令)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处:

(0)
尊云-小张的头像尊云-小张
上一篇 2024 年 5 月 5 日 09:35
下一篇 2024 年 5 月 5 日

相关推荐

发表回复

登录后才能评论

联系我们

400-900-3935

在线咨询: QQ交谈

邮件:cong@zun.com

工作时间:365天无休服务 24小时在线

添加微信