转载于:https://www.cnblogs.com/lisenlin/p/10763905.html

一、tracert和traceroute简介

相同点:都是用来跟踪路由,帮助排查问题,关注的是过程,而ping关注的是结果。

不同点:

  1. tracert请求是icmp echo报文。

  2. traceroute请求是UDP的报文,目标端口是30000以上随机端口。

二、tracert使用到三种报文

  1. icmp echo request #icmp Type8,客户端发起报文,traceroute使用udp报文发起。
  2. icmp echo replay #icmp Type 0,到了目标地址,未禁ping,回复此报文。
  3. icmp time-exceeded #icmp Type11,经过的路由回复报文(到此路由ttl=1或0回复给客户端)。

三、traceroute使用的三种报文

  1. UDP随机端口发起请求 #客户端发起报文,traceroute使用udp报文发起。
  2. icmp time-exceeded #icmp Type11,经过的路由回复报文(到此路由ttl=1或0回复给客户端) 。
  3. icmp unreachable #icmp Type3(Destination unreachable),到了目标地址,未禁ping,回复此报文。

四、tracert原理

  1. tracert送出一个TTL是1的ICMP echo request数据包a到目的地。
  2. 当路径上的第一个路由器收到这个数据包a时,它将TTL减1。
  3. TTL变为0,该路由器会将此数据包丢掉,并送回一个「ICMP time exceeded」消息。
  4. tracert 收到这个消息后,再送出另一个TTL是2 的数据包,发现第2 个路由器。
  5. 当数据包到达目的地后,目标会送回一个icmp echo reply(前提是目标未禁ping)。

ps:

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

  2. 有些时候tracert都是打星号,但是抓包显示icmp time-exceeded(即可知所经路由器),所以以抓包结果为准。

五、tracert工具使用

用法:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name

-d #不将地址解析成主机名。
-h maximum_hops #设置目标的最大跃点数。
-j host-list #与主机列表一起的松散源路由(仅适用于 IPv4)。
-w timeout #等待每个回复的超时时间(以毫秒为单位)。
-R #跟踪往返行程路径(仅适用于 IPv6)。
-S srcaddr #要使用的源地址(仅适用于 IPv6)。
-4 #强制使用 IPv4。
-6 #强制使用 IPv6。

六、traceroute工具参数使用

traceroute [ -46dFITnreAUDV ] [ -f first_ttl ] [ -g gate,… ] [ -i device ] [ -m max_ttl ] [ -N squeries ] [ -p port ] [ -t tos ] [ -l flow_label ] [ -w waittime ] [ -q nqueries ] [ -s src_addr ] [ -z sendwait ] [ --fwmark=num ] host [ packetlen ]

-d #使用Socket层级的排错功能。
-f first_ttl #设置第一个检测数据包的存活数值TTL的大小。
-F #设置勿离断位。
-g gate,… #设置来源路由网关,最多可设置8个。
-i device #使用指定的网络接口送出数据包。
-I #使用ICMP echo request取代UDP请求,即类似使用tracert工具。
-T #使用TCP SYN取代UDP请求。
-m max_ttl #设置检测数据包的最大存活数值TTL的大小。
-n #直接使用IP地址而非主机名称。
-p port #设置UDP传输协议的通信端口,默认33434。
-r #忽略普通的Routing Table,直接将数据包送到远端主机上。
-s src_addr #设置本地主机送出数据包的IP地址。
-t tos #设置检测数据包的TOS数值。
-w waittime #设置等待远端主机回应的时间,默认5s。

tracert和traceroute区别在哪?相关推荐

  1. 关于tracert与traceroute的区别

    LINXU上tracert和traceroute虽然都是路由跟踪,但是两者探测方法及探测的数据类型不同.默认情况下,traceroute是向目的地址的某个端口(大于30000)发送UDP数据报,tra ...

  2. Tracert与Traceroute[转]

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

  3. linux 命令:ping、fping、gping、hping3、tracert、traceroute

    From: Nmap.Netcat.Hping3工具对比:http://www.2cto.com/article/201210/158961.html ​hping3 命令:http://man.li ...

  4. tracert与traceroute命令详解

    tracert 一.tracert 介绍 tracert 是一个简单的网络诊断工具,用于确定 IP 数据报访问目标所经过的路径.Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错 ...

  5. 查看网络情况 ping 大包 和 tracert 、 traceroute

    2019独角兽企业重金招聘Python工程师标准>>> 严禁Ping入侵作为大多数防火墙的一个基本功能提供给用户进行选择. Linux下Ping包的默认大小为64Byte,次数不限. ...

  6. 路由跟踪(tracert、traceroute)简析

    WINDOWS平台命令: tracert LINUX平台命令: traceroute 简介: Tracert(traceroute) 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确 ...

  7. tracert和traceroute使用

    Traceroute提取发 ICMP TTL到期消息设备的IP地址并作域名解析.每次 ,Traceroute都打印出一系列数据,包括所经过的路由设备的域名及 IP地址,三个包每次来回所花时间. 转自 ...

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

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

  9. windows之tracert与linux之traceroute用法详解

    通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...

  10. 路由追踪——traceroute与tracert

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

最新文章

  1. 【MySQL】基础知识
  2. mysql-主从服务器同步搭建
  3. 开发日记-20190914 关键词 汇编语言王爽版 第六章
  4. 1.8 Java字节流和字符流的区别,如何区分输入流和输出流?
  5. 如何修改mysql服务器,怎么修改mysql服务器地址
  6. springboot 和 mybatis整合:参数查询和动态sql
  7. outlook存档邮件_如何在Outlook 2013中存档电子邮件
  8. python用pip安装pygame_安装pygame和pip的问题以及过程
  9. Checking if your code is running on 64-bit PHP
  10. VUE自学日志03-模板语法
  11. 做了n年程序猿,才知道电脑是这样工作的
  12. 类Shiro权限校验框架的设计和实现
  13. 让部署到服务器上的springboot项目持续运行(nohup)
  14. java俄罗斯方块代码_java俄罗斯方块代码.doc
  15. LCD 12864B V2.0的使用
  16. 关键词工具(seo常用关键词工具有哪些?)
  17. xp 计算机配置,怎么查看WindowsXP系统电脑配置?
  18. 软件工程网络工程第二次训练(AC代码和详细解释)(C语言描述)
  19. 金融计算器,python实现
  20. 【python】什么是序列,Python序列详解

热门文章

  1. dirent.h使用详解
  2. 数学建模优化模型简单例题_数学建模例题.doc
  3. python金融数据分析与挖掘实战_[套装书]Python数据分析与挖掘实战(第2版)+Python金融大数据挖掘与分析全流程详解+Python金融数据分析(3册)...
  4. myBatis约束文档
  5. 比特率与波特率有何差别?—Vecloud
  6. 搭建私有云=我使用的是开源的可道云,服务器是win service 2019+公网ip+动态域名解析
  7. 数值分析:Python实现列主元高斯消去法与LU分解法求解线性方程组
  8. 问卷分析SPSS+AMOS实证步骤
  9. 无线射频识别问答习题
  10. 什么是网络操作系统?网络操作系统具有那些基本功能?