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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ⭐Python实现多线程并发下载大文件(制作支持断点续传的下载器的绝佳参考⁉️)⭐

    ⭐Python实现多线程并发下载大文件(制作支持断点续传的下载器的绝佳参考⁉️)⭐不知道各位童鞋们是否遇到过需要使用python下载文件的需求,当然一般情况下,我们更多是使用下载器去批量下载文件。但有时我们需要批量下载PDF,通过python解析出url后,直接使用python进行下载才是最方便的。对于常规的小文件,我们直接使用requests的get请求即可下载。对于网络不佳的网站,直接使用requests下载很可能网站中断直接下载失败。今天本文的的目前主要是教会大家如何实现python下载文件失败的断点续传,如何实现分片后多线程下载文件加速文件下载。下面我们以知乎视频《【AI混血

    2022年7月20日
    22
  • vgg网络论文_dna结构综述论文

    vgg网络论文_dna结构综述论文原文地址:https://arxiv.org/pdf/1409.1556.pdfVGG简介:VGG卷积神经网络是牛津大学在2014年提出来的模型。当这个模型被提出时,由于它的简洁性和实用性,马上成为了当时最流行的卷积神经网络模型。它在图像分类和目标检测任务中都表现出非常好的结果。在2014年的ILSVRC比赛中,VGG在Top-5中取得了92.3%的正确率。同年的冠军是googl…

    2022年10月21日
    0
  • 连云港[通俗易懂]

    连云港[通俗易懂]

    2022年8月6日
    3
  • 四旋翼飞行器图片(4轴飞行器飞行运动中有)

    1、未知区域地形的构建2、农业方面的应用:(1)运用图像识别技术检测果实数量;(2)检测作物是否发生病虫害,因为当作物出现病虫害时都会有相应的表现现状。具体见链接http://www.aiweibang.com/yuedu/153474153.html3、高层建筑物的搭建

    2022年4月15日
    45
  • 二叉树前序遍历详解[通俗易懂]

    二叉树前序遍历详解[通俗易懂]二叉树的遍历是数据结构中非常基础的内容了,今天这一篇文章我们来详细了解一下二叉树的前序遍历,二叉树的前序遍历顺序是根节点-左子树-右子树,本文对递归和栈模拟的方法都有实现一、递归方法递归方法可以说是很简了,我们秉承先去往左节点再去往右节点的原则就好了//assumethatwehaveTreeNode,andresistostoretheanswervoidpreorder(TreeNode*root,vector<int&.

    2022年9月10日
    0
  • 菜鸟教程python3 mysql_MySQL菜鸟教程

    菜鸟教程python3 mysql_MySQL菜鸟教程页眉内容MySQL教程Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。在本教程中,会让大家快速掌握Mysql的基本知识,并轻松使用Mysql数据库。什么是数据库?数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,每个数据库都有一个或多个…

    2025年7月30日
    0

发表回复

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

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