目录

1、Traceroute

2、Tracert

3、小结


1、Traceroute

traceroute 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。路由器收到TTL为1的包文减1后直接丢弃,然后回复 ICMP(type=11,code=0,TTL equals 0 during transit——传输期间生存时间为0),目标主机收到traceroute 的UDP探测包回复ICMP(type=3,code = 3,端口不可达)。Linux上称之为 traceroute,Windos类似的功能为tracert。

linux 上 traceroute 运行过程是:traceroute 连续发送TTL从1开始递增的UDP包,目标端口 30000+,目标地址为探测地址 dst_addr,每个TTL相同的UDP包默认发送三次,端口依次递增。当收到目标地址 dst_addr 回的 ICMP包(端口不可达),traceroute 停止发包,否则继续发送,默认最多发送 30 个,每个包大小 60Byte(IP+UDP+Data)。

具体报文分析如下:

1、从10.43.85.162 到 10.43.2.170 经过 4 跳,第 5 跳到达目标主机。

2、连续发送 UDP 包,当收到来自路由器10.43.66.125 第一个探测包(frame881)的回复的ICMP包(frame892,0.979ms)时还是会继续发送UDP包文。当时当收到来自目标机器 10.43.2.170 回复的ICMP报文时(frame = 895),表示探测成功traceroute 停止发送UDP报文。

2.1、发送的第一个TTL = 3 的UDP包文 Frame=881

2.2、收到来自路由器10.43.66.125的回复信息ICMP包,Frame = 892

3、UDP报文的目标端口依次递增

4、收到路由器回复的 892号报文后,继续发送UDP包,此时TTL=6

5、普通路由器回复的ICMP为TTL= 0丢去,目标主机回复的ICMP则是端口不可达,因为此时的TTL != 0,只是目标主机没有监听相应的端口而已。

6、traceroute总共发送了17个UDP包,(TTL = 1~5) * 3,(TLL=6) * 2,因此源主机收到了17个ICMP回复,其中的5个均来自目标主机10.43.2.170。

2、Tracert

通过向目标发送不同 IP 生存时间 (TTL) 值的“Internet 控制消息协议 (ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TTL 递减 1。数据包上的 TTL 减为 0 时,路由器应该将“ICMP 已超时”的消息发回源系统。

Tracert 先发送 TTL 为 1 的回应数据包,并随后的每次发送过程将 TTL 递增 1,直到目标响应或 TTL 达到最大值,从而确定路由。通过检查中间路由器发回的“ICMP 已超时”的消息确定路由。某些路由器不经询问直接丢弃 TTL 过期的数据包,这在 Tracert 实用程序中看不到。

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

报文监测如下:

1、从10.40.140.97 到 10.43.85.162 经过 3 跳,第 4 跳到达目标主机。

2、PC机依次发送ICMP请求信息(Type=8,Echo request——回显请求[Ping请求]),收到目标主机的ICMP回的应答信息(type=0,Echo Reply——回显应答[Ping应答])后,停止发送请求信息,注意是三个应答信息都收到之后,才停止发送

3、当超出设定的跳数,源主机也会停止发送ICMP请求,如下所示设置跳数为3

3、小结

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

当出现了tracert可达,但是traceroute不可达时,需要考虑路径的路由器是否对UDP进行了过滤,或者端口限制。

traceroute、tracert服务的工作原理相关推荐

  1. ftp服务器工作原理示意图,3.1.3 FTP服务的工作原理

    3.1.3   FTP服务的工作原理 FTP服务是一种有连接的文件传输服务,采用的传输层协议是TCP协议.FTP服务的基本过程是:建立连接.传输数据与释放连接.由于FTP服务的特点是数据量大.控制信息 ...

  2. RSF 分布式服务框架-服务端工作原理

    为什么80%的码农都做不了架构师?>>>    这是接上一篇文章<RSF 分布式服务框架设计>之后的续作,主要是 Hasor-RSF 的请求响应工作原理以及设计思路. 非 ...

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

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

  4. 使用 mock 数据在本地运行 SAP Fiori Elements 应用的工作原理

    本系列的前两篇文章: 在没有任何前端开发经验的基础上, 创建第一个 SAP Fiori Elements 应用 如何使用 mock 数据在本地运行 SAP Fiori Elements 本文研究 Fi ...

  5. Android系统Recovery工作原理之使用update.zip升级过程分析(一)

    这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.我们先从update.zip包的制作开始,然后是And ...

  6. Android系统Recovery工作原理之使用update.zip升级过程分析(一)---update.zip包的制作【转】...

    本文转载自:http://blog.csdn.net/mu0206mu/article/details/7399822 这篇及以后的篇幅将通过分析update.zip包在具体Android系统升级的过 ...

  7. WebRTC源码研究(4)web服务器工作原理和常用协议基础

    文章目录 WebRTC源码研究(4)web服务器工作原理和常用协议基础 前言 做WebRTC 开发为啥要懂服务器开发知识 1. Web 服务器简介 2. Web 服务器的类型 3. Web 服务器的工 ...

  8. Linux系统运维之keepalived的工作原理和裂脑

    目录 一.keepalived的工作原理 1.Keepalived高可用对之间的通信原理 2.Keepalived服务的工作原理 二.裂脑 1.什么是"裂脑" 2.导致裂脑的原因及 ...

  9. WebRTC源码研究(4)web服务器工作原理和常用协议基础(转载)

    前言 前面3篇博客分别对WebRTC框架的介绍,WebRTC源码目录,WebRTC的运行机制进行了介绍,接下来讲解一点关于服务器原理的知识.后面博客会写关于WebRTC服务器相关的开发,目前git上面 ...

  10. ajax简介跟优点讲解,简要总结ajax工作原理及优缺点

    虽然在实际的项目中使用多种ajax请求,但就其工作原理,优缺点尚未深入总结, 参考:http://www.cnblogs.com/SanMaoSpace/archive/2013/06/15/3137 ...

最新文章

  1. 大学计算机基础python-大学计算机基础最新章节_曾一著_掌阅小说网
  2. 梯度下降 最小二乘法 matlab,最小二乘法和梯度下降法的理解
  3. VTK修炼之道79:交互与拾取_单位拾取
  4. Python调用C的方法
  5. Java Web学习总结(7)——HttpServletRequest对象
  6. BZOJ4197: [Noi2015]寿司晚宴
  7. 数据结构和算法详解(四)——五大基本算法思想
  8. aws ebs分类_AWS EBS – Amazon Elastic Block Storage
  9. java resource放入的文件没有生成在classes中_Java的classpath到底指什么
  10. 酷应用背后,低代码正在被重估
  11. redis1.2.6 sds.c
  12. win10获得system权限(超级管理员)
  13. Overlay网络与物理网络的关系
  14. re学习笔记(37)BUUCTF-re-[GUET-CTF2019]re Z3约束求解器
  15. JS操作word文档
  16. 使用Aptana Studio 3开发python教程
  17. 西门子ET200SP基座单元的区别与分类以及注意事项
  18. 微服务多网卡部署(eureka显示IP不为服务IP的地址)解决办法
  19. 用blender和MakeHuman生成人体动画
  20. 电脑中病毒自动安装软件怎么解决

热门文章

  1. 浅谈论文查重检测过程中的常见问题
  2. 全年数学建模相关比赛
  3. BScroll 使用(Vue)
  4. 工控HMI界面设计基本原则
  5. 《工业设计史》第八章:20世纪20、30年代的流行风格
  6. 海康sip服务器地址协议,海康摄像头的GB28181的sip服务器+ZL流媒体+前台测试页面...
  7. dsp2812 c语言数据类型长度,DSP2812代码长度超出RAM容量,有谁遇到过吗?
  8. docker 自定义网络
  9. Report Machine使用方法
  10. Builder中使用Access数据库