traceroute的原理与使用

traceroute的原理与使用traceroute,路由跟踪,用来跟踪一个分组从源点到终点的整个过程。原理分析traceroute是通过ICMP协议中的时间超时差错报告报文来实现的,他从源主机到目的主机发送一连串的IP数据报p1-pn,并且数据报是无法交付的udp数据报。第一个数据报的TTL设置为1,这样当这个数据报转发到第一个路由器的时候,路由器收到后TTL减1,减完1之后发现TTL变为0,路由器会向源主机发送一个超时差…

大家好,又见面了,我是你们的朋友全栈君。

traceroute,路由跟踪,用来跟踪一个分组从源点到终点的整个过程。

原理分析

traceroute是通过ICMP协议中的时间超时差错报告报文来实现的,他从源主机到目的主机发送一连串的IP数据报p1-pn,并且数据报是无法交付的udp数据报。第一个数据报的TTL设置为1,这样当这个数据报转发到第一个路由器的时候,路由器收到后TTL减1,减完1之后发现TTL变为0,路由器会向源主机发送一个超时差错报告报文。
然后是第二个,第二个数据报的TTL设置为2,这样转发到第二个路由器的时候,TTL变为0,并会向源主机在发送一个超时差错报告报文,依次进行此操作。直到第n个数据报pn到达目的主机,但是由于数据报无法交付,因此目的主机会向源主机发送终点不可达差错报告报文。
通过这种方式,源主机就可以通过发送过来的超时差错报告报文和终点不可达差错报告报文来的得到经过的路由器以及往返时间等信息,达到路由跟踪的目的。

使用方法

  • 命令的格式
traceroute [option ...] host

以跟踪百度为例
在这里插入图片描述
从图中可以看出按照顺序到达的路由,后面的时间是一次往返时间,有三次是因为连续发了三个IP数据报。

  • 参数的类型
    通过Linux的man traceroute 查看手册得到以下信息
-f  <存活数值>设置第一个检测数据包的存活数值TTL的大小。
-F  设置勿离断位。
-g  <网关>设置来源路由网关,最多可设置8个。
-I  使用ICMP响应取代UDP资料信息。
-m  <存活数值>设置检测数据包的最大存活数值TTL的大小。
-p  <通信端口>设置UDP传输协议的通信端口。
-t  <服务类型>设置检测数据包的TOS数值。
-w  <超时秒数>设置等待远端主机回报的时间。

下面对一些常用的参数的功能进行演示

-m设置IP数据报的最大存活数值TTL

在这里插入图片描述
通过-m进行数量设置之后,最多发送10此IP数据报后结束操作

-f设置第一个检测数据包的存活数值TTL的大小

在这里插入图片描述
这张图和第一张相比,说明数据报是从第三个开始发的,也就是第一个数据包的TTL为3,所以数据报传递三次之后才会返回ICMP。

-q 设置探测包的个数

在这里插入图片描述
通过-q设置后探测包发送四个

-w 设置等待远端主机回报的时间

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162547.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是 ODS_ods分析

    什么是 ODS_ods分析ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的、集成的全体信息的需求。常常被作为数据仓库的过渡,也是数据仓库项目的可选项之一。    根据Bill.Inmon的定义,“数据仓库是面向主题的、集成的、稳定的、随时间变化的,主要用于决策支持的数据库系统”   ODS是一个面向主题的、集成的、可变的、当前的细节数据集合,用于支持企业对于即时性的、操作性的

    2022年9月25日
    2
  • 2022 CCF中国开源大会会议通知(第四轮)[通俗易懂]

    2022 CCF中国开源大会会议通知(第四轮)[通俗易懂]2022CCF中国开源大会(CCFChinaOSC)拟于2022年8月20日至21日在陕西省西安高新国际会议中心召开。大会由中国计算机学会(CCF)与开放原子开源基金会主办,CCF开源发展委员会、西安电子科技大学承办,西安电子科技大学计算机科学与技术学院(国家示范性软件学院)具体落实,西安市智能软件工程重点实验室负责实施,得到西安高新区管委会的大力支持,西安软件园发展中心具体执行。大会由华为技术有限公司作为白金赞助商,阿里巴巴集团、汇丰科技、东软集团股份有限公司、江苏引跑网络科技有限公司作为赞助商。本届

    2025年11月21日
    3
  • POJ-2499 Binary Tree

    POJ-2499 Binary Tree

    2021年8月22日
    52
  • debounce函数防抖

    debounce函数防抖实现functiondebounce(callback,time){lettimer;returnfunction(){window.clearTimeout(timer)timer=window.setTimeout(function(){callback()},time)}…

    2022年6月20日
    26
  • 转载: 约瑟夫环 循环链表 必备「建议收藏」

    转载: 约瑟夫环 循环链表 必备

    2022年3月1日
    48
  • for()循环语句_for next循环语句

    for()循环语句_for next循环语句一、for语句结构:for(初始化表达式;循环条件表达式;循环后的操作表达式){执行语句;}循环条件表达式,必须是true或false示例:输出结果:第0次你好第1次你好第2次你

    2022年8月5日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号