Tracert功能也是基于ICMP协议来实现,原理为:

(1) 源端A向目的端D发送一个IP 数据报文,TTL 值为1,报文的UDP 端口号是目的端的任何一个应用程序都不可能使用的端口号;

(2) 第一跳B(即该报文所到达的第一个三层设备)回应一个TTL 超时的ICMP 错误信息(该报文中含有第一跳的IP 地址1.1.1.2),这样源端就得到了第一个三层设备的地址(1.1.1.2);

(3) 源端重新向目的端发送一个IP 数据报文,TTL 值为2;

(4) 第二跳C回应一个TTL 超时的ICMP 错误信息,这样源端就得到了第二个三层设备的地址(1.1.2.2);

(5) 以上过程不断进行,直到该报文到达目的端,因目的端没有应用程序使用该UDP 端口,目的端返回一个端口不可达的ICMP 错误消息(携带了目的端的IP 地址1.1.3.2)。

(6) 当源端收到这个端口不可达的ICMP错误消息后,就知道报文已经到达了目的端,从而得到数据报文从源端到目的端所经历的路径(1.1.1.2;1.1.2.2;1.1.3.2)。

转载于:https://blog.51cto.com/kalng/883056

Tracert命令原理相关推荐

  1. java linux tracert_Linux系统中tracert命令使用详解

    Linux系统中Tracert命令用来显示数据包到达目标主机是所经过的路径.下面由学习啦小编为大家整理了linux系统中tracert命令使用详解,希望对大家有帮助! Linux系统中tracert命 ...

  2. Tracert 命令的原理与作用

    1. Tracert 命令的原理与作用 Tracert命令诊断实用程序通过向目标计算机发送具有不同生存时间的ICMP数据包,来确定至目标计算机的路由,也就是说用来跟踪一个消息从一台计算机到另一台计算机 ...

  3. traceroute命令(unix)/tracert命令(windows)的工作原理

    traceroute命令(unix)/tracert命令(windows)的工作原理     traceroute命令和tracert命令的工作原理是一样的,只是前者用于unix和linux系统中,而 ...

  4. Linux下ping命令、traceroute命令、tracert命令的使用

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说"ping一下某机器,看是不是开着".不能打开网页时会说"你先ping网关地址 ...

  5. TRACERT命令及用法

    TRACERT命令及用法 2006-10-18 17:14 Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径.Tracert 命令用 IP 生存时间 (TTL) ...

  6. matlab 中trace,trace命令和tracert命令的用途 matlab中的trace 怎么用的?

    导航:网站首页 > trace命令和tracert命令的用途 matlab中的trace 怎么用的? trace命令和tracert命令的用途 matlab中的trace 怎么用的? 相关问题: ...

  7. tracert命令介绍

    tracert:(路由跟踪程序) 用于确定IP数据报访问目标所采取的路径.使用IP生存时间TTL(Time To Live)字段和ICMP错误来确认从一个主机到网络上其他主机的路由. tracert命 ...

  8. Tracert命令 路由跟踪数据包解析

    Tracertet 命令作为一个路由跟踪.诊断实用程序,在DOS和UNIX系统下都有此命令,它通过发送 Internet 控制消息协议 (ICMP) 回显请求和回显答复消息,产生关于经过每个路由器的命 ...

  9. 利用计算机Tracert,必备的网络常用测试命令(tracert命令) -电脑资料

    tracert (traceroute 路由跟踪) 跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助, 格式:tracert [-d] ...

  10. linux路径跟踪命令,linux的tracert命令的详细解释

    linux中的使用tracert命令可以跟踪路由路径,下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux的tracert命令的详细解释,希望对大家有帮助! linux的trace ...

最新文章

  1. C++:读写二进制文件到double数组,根据二进制数据量进行读取
  2. Spring Cache-缓存概述及使用
  3. python:SyntaxError: invalid syntax报错
  4. 今天看明白了,为什么有些属性会这样写了:public string status{get;set;}
  5. Neural Style Transfer 神经风格迁移详解
  6. 20200620每日一句
  7. MyCat分片规则之固定hash分片
  8. 阿里巴巴大数据之路-数据整合管理体系
  9. Python求二次方程根
  10. SpringCloud-Netflix
  11. matlab在脚本中用函数,matlab中脚本和函数的怎么调用
  12. python的help()用法
  13. C++学习 Day.5(进入正轨~~)
  14. spring jsm(二)
  15. 【干货】以太坊常用网址整理
  16. BI数据分析从业者从零开始学习财务知识?有哪些入门书籍推荐
  17. Epic games 一直卡在 在我们启动更新时请稍后的解决方法
  18. 车险政策费改前后险种变化
  19. SwapNet 和 VITON-GAN
  20. 操作系统-先进先出和最近最久未使用算法-C语言

热门文章

  1. mysql嵌套查询效率低_mysql的嵌套查询效率很低
  2. matlab画对数直方图,matlab中函数bar绘制直方图
  3. 量化策略回测DualThrust
  4. wincc工程组态论文_仪表人零基础学系统组态,必备知识!2020.12.12
  5. python绘制聚类分析树状图
  6. Python基础知识资料收集库
  7. IBM服务器远程管理模块IMM配置
  8. 嵌入式linux局域网聊天软件
  9. 如何使用雅虎相册在陶宝网增加宝贝描述图片(转)
  10. 网络安全--通过握手包破解WiFi(详细教程)