二者都用于探测数据包从源到目的经过路由的IP,但两者探测的方法却有差别。

不同点:
一、应用环境不同
tracert是应用在windows下。
traceroute则是应用在linux/BSD/router/UNIX下。 
tracert是Windows下常用的命令行工具,UNIX下的是traceroute。都是基于UDP协议的路由探测。
Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据报访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。
工作原理和过程:
通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert 诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。 
  Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。 
  Tracert 命令按顺序打印出返回“ICMP 已超时”消息的路径中的近端路由器接口列表。如果使用 -d 选项,则 Tracert 实用程序不在每个 IP 地址上查询 DNS。 
  在下例中,数据包必须通过两个路由器(10.0.0.1 和 192.168.0.1)才能到达主机 172.16.0.99。主机的默认网关是 10.0.0.1,192.168.0.0 网络上的路由器的 IP 地址是 192.168.0.1。 
  C:\>tracert 172.16.0.99 -d 
  Tracing route to 172.16.0.99 over a maximum of 30 hops 
  1 2s 3s 2s 10,0.0,1 
  2 75 ms 83 ms 88 ms 192.168.0.1 
  3 73 ms 79 ms 93 ms 172.16.0.99 
  Trace complete.
Traceroute程序的设计是利用ICMP及IP header的TTL(Time To Live)栏位(field)。首先,traceroute送出一个TTL是1的IP datagram(其实,每次送出的为3个40字节的包,包括源地址,目的地址和包发出的时间标签)到目的地,当路径上的第一个路由器(router)收到这个datagram时,它将TTL减1。此时,TTL变为0了,所以该路由器会将此datagram丢掉,并送回一个「ICMP time exceeded」消息(包括发IP包的源地址,IP包的所有内容及路由器的IP地址),traceroute 收到这个消息后,便知道这个路由器存在于这个路径上,接着traceroute 再送出另一个TTL是2 的datagram,发现第2 个路由器...... traceroute 每次将送出的datagram的TTL 加1来发现另一个路由器,这个重复的动作一直持续到某个datagram 抵达目的地。当datagram到达目的地后,该主机并不会送回ICMP time exceeded消息,因为它已是目的地了,那么traceroute如何得知目的地到达了呢?
Traceroute在送出UDP datagrams到目的地时,它所选择送达的port number 是一个一般应用程序都不会用的号码(30000 以上),所以当此UDP datagram 到达目的地后该主机会送回一个「ICMP port unreachable」的消息,而当traceroute 收到这个消息时,便知道目的地已经到达了。所以traceroute 在Server端也是没有所谓的Daemon 程式。
Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析。每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间。
Traceroute 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Traceroute给TTL记数器加1,继续进行。
二、探测方法及探测的数据类型不同
默认情况下,tracert是向目的地址发出ICMP请求回显数据包,而traceroute是向目的地址的某个端口(大于30000)发送UDP数据报。
相同点:
一、两者都用于探测数据包从源到目的经过路由的IP。
二、两者都是通过设置发送包的TTL的值从1开始、逐次增1的方法来探测。

最后,tcptracetroute是向80端口发送TCP SYN包到目标,穿透更强。

原始作者:http://blog.chinaunix.net/uid-30256248-id-5693402.html

traceroute和tracert区别相关推荐

  1. 网络命令——traceroute、tracert(windows)

    traceroute 路由追踪 语法:traceroute 参数 ip / 域名 1.检测是否安装 traceroute rpm -qa | grep traceroute 2.可以用 yum apt ...

  2. 路由追踪——traceroute与tracert

    一.路由追踪 (一)路由跟踪,就是获取从主机A到达目标主机B这个过程中所有需要经过的路由设备的转发接口IP. (二)ICMP协议 Internet控制报文协议(internet control mes ...

  3. traceroute和tracert的原理

    traceroute的原理: 1.traceroute主机向被trace主机发送UDP的数据包,目的端口是编号较大的端口(比如33434端口) 2.首包TTL=1,Dport=33434:以后的数据包 ...

  4. Traceroute和Tracert

    Traceroute是Linux和Mac OS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序.二者的功能相同,都能探测数据包从源地址到目的地址经过的路由器的 ...

  5. traceroute和tracert用法详解

    一.什么是Traceroute?                  Internet,即国际互联网,是目前世界上最大的计算机网络,更确切地说是网络的网络.它由遍布全球的几万局域网和数百万台计算机组成, ...

  6. Tracert与Traceroute[转]

    Tracert与Traceroute traceroute是一个检查网络路径的工具,最初由Van Jacobson实现.它现在已经成为Linux.Cisco IOS以及其他很多操作系统的基本网络工具之 ...

  7. 路由追踪程序traceroute/tracert分析与科普

    一.路由追踪程序traceroute/tracert Traceroute是Linux和Mac OS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序.二者的功 ...

  8. traceroute安装和使用测试端口联通

    一.前言 默认Linux发现版是安装了traceroute工具的,但记忆里好像7.0后变成了tracepath命令,这里我们手动安装traceroute命令工具 二.traceroute下载安装 下载 ...

  9. 3.ICMP_抓包分析traceroute路由追踪

    一.路由追踪程序traceroute/tracert Traceroute是Linux和Mac OS等系统默认提供的路由追踪小程序,Tracert是Windows系统默认提供的路由追踪小程序.二者的功 ...

最新文章

  1. JQuery学习笔记 [Ajax] (6-2)
  2. 如何从DOS命令窗口进行复制粘贴
  3. String reverse方法
  4. 给输入框添加自动检索的功能
  5. 通过JDBC来理解反射机制
  6. Javascript位置 body之前、后执行顺序
  7. KMP算法 学习笔记
  8. python实现文件批量添加重命名
  9. HackTheGame 攻略 - 第九关
  10. Web安全渗透测试基本流程
  11. 中山大学计算机学院离散数学,中大信科院计算机复试专业课离散数学.pdf
  12. 推荐好用的两个搜索下载书籍网站
  13. 网页实现从数据库读取数据并简单分页
  14. Python实现流星雨效果的代码
  15. JMSMQ系列之JMS的请求和回应
  16. 文墨绘学:习惯决定孩子命运—习惯培养的五大步骤
  17. IDEA启动tomcat显示“Error running tomcat:Cannot run program”问题解决
  18. 1-3、联想RD540,RD640,450X配置bios,raid
  19. 安卓手机导入html短信,旧手机短信导入新手机
  20. Chrome浏览器设置小窗口视频

热门文章

  1. 电机编码器调零步骤_各种编码器的调零办法
  2. java实现词典功能
  3. 006.西门子M440变频器固定频率直接选择+ON命令
  4. Zigbee预备课程 - 新兵训练营(0)
  5. JavaScript 中文转汉字
  6. 游戏原画培训机构哪家好(国内原画培训机构排名)
  7. 批量打印CAD文件怎么做?来试试这种方法
  8. DirectSound 3D声音世界
  9. android 生成 guid,Android 获取guid
  10. China SAFe Day 2022中国规模化敏捷大会11月5日在上海举办!