首页 > 其他分享 >tracert原理(traceroute工作原理)

tracert原理(traceroute工作原理)

时间:2023-08-03 17:55:49浏览次数:59  
标签:tracert 超时 traceroute Tracert TTL 原理 ICMP 路由器

Tracert,是路由跟踪程序,主要用于确定数据包在传输过程中经过的路由节点。在Linux操作系统中,对应的命令为Traceroute,Tracert为windows系统下的命令。

Tracert是利用ICMP数据报和IP数据报头部中的TTL机制和原始套接字接口来跟踪数据包传输中经过的路由器。

Tracert的工作原理:

Tracert 先发送 TTL 为 1 的回应数据包,并在随后的每次发送过程将 TTL 递增 1, 直到目标响应或 TTL 达到最大值,从而确定路由。TTL域每经过一个路由器转发后减1, TTL 减为 0 时,该路由器会将此数据报丢弃,并将超时回应数据报(包括数据报的源地址、内容和路由器的IP地址)发回源系统。

 

Tracert的工作过程:

1. 首先发送一个TTL为1的报文,当到达第一个路由器时TTL减1变为0,路由器就不再转发这个数据了,而直接丢弃,并且发送一个ICMP“超时”信息给源主机,并告知自己的IP地址;

2. 之后再发送一个TTL为2的报文,在第二跳返回TTL超时,这个过程不断进行,直至到达目的地;

3. 在目的地,由于数据报中使用了无效的端口号(缺省为33434),目的主机会返回一个ICMP目的地不可达消息,该tracert操作结束。

在上述过程中,tracert记录下每一个ICMP TTL超时消息的源地址,从而获得报文到达目的地所经过的网关的IP地址。

 

标签:tracert,超时,traceroute,Tracert,TTL,原理,ICMP,路由器
From: https://www.cnblogs.com/dachenyi/p/17604052.html

相关文章

  • Netty 原理解析与实战开发(二)
    Netty原理解析与开发实战八、ChannelHandler8.1ChannelHandler介绍我们对数据的处理都是在ChannelHandler中完成的,Netty提供了众多ChannelHandler的实现类来帮助我们实现一些网络编程中通用功能,比如最常用的心跳检测、数据编解码等。Netty中的ChannelHandler分为两类,一类处......
  • 转载:图灵的停机问题背后令人着迷的数学(哲学)原理
    之前备考时无意间看到这篇文章【康托尔、哥德尔、图灵——永恒的金色对角线】,令我惊为天人。刘未鹏从一系列深奥的理论背后找到了一条线,用一个至为简单而又至为深刻的数学方法将其串联起来,然我们看到了最纯粹的数学之美!现在终于有时间能够静下心来重新看一遍,顺便写一篇读书笔记......
  • 冒泡排序原理推导
    与前一项比大小arr=[4,3,2,1]n=len(arr)foriinrange(0,n-1):#如果n=0,1;range输出空表格,不进行for循环print('第{}遍'.format(i+1))forjinrange(1,n-i):ifarr[j-1]>arr[j]:arr[j-1],arr[j]=arr[j],arr[j-1]arr与后一项......
  • 4.智能指针的原理、常用的智能指针及实现
    4.智能指针的原理、常用的智能指针及实现1.auto_ptr当你在读这篇文章的时候,应该都有这样一个疑问?那就是为什么要使用智能指针。我们先看这样一个示例:#include<iostream>#include<string>#include<exception>usingnamespacestd;voidmemory_demo1(){ string*str......
  • github代码外泄监控——可用来提供源码泄露检测服务,数据泄露场景,原理就是在github搜索
     Hawkeye监控github代码库,及时发现员工托管公司代码到GitHub行为并预警,降低代码泄露风险。特点优点邮箱告警通知黑名单添加爬虫任务设置缺点spider通过关键词在github进行模糊搜索,搜索结果会比较杂依赖Python3.x(Hawkeye支持Python3.xonLinuxandmacOS;2.x兼容性需自行修改测试......
  • 逆向工程核心原理——第二十七章 进程注入-代码注入
    官方源码地址:https://blog.kakaocdn.net/dn/buCuJU/btq2OpiKoTz/JIIGkCcw1xjLtsDt4yV5dk/%EC%86%8C%EC%8A%A4%EC%BD%94%EB%93%9C.zip?attach=1&knm=tfile.zip虽然是韩语,但是编译依然ok! 写在前面,我用官方给的代码,使用vs2022编译release模式,在win11上也注入成功了!注意dll也需要编译......
  • 聊聊虚拟定位工具新宠儿:AnyGo的原理与识别
    背景:基于位置服务LBS「LocationBasedServices」的应用非常多,已经融入到生活中的方方面面。市面上已经有很多基于位置服务的应用场景,如运动品类应用基于地理位置生成运动轨迹,企业办公应用基于定位信息进行打卡,游戏品类应用基于位置信息开发区域排名,电商品类应用基于位置发放区域......
  • AD 原理图复制元器件保留标号的设置方法
    AD原理图复制元器件保留标号的设置方法-百度经验(baidu.com)......
  • Android View绘制原理 - SkCanvas
    上一篇文章介绍了在Android框架中的各种Canvas,其中C层的RecordingCanas承上启下,在SkiaRecordingCanvas的绘制方法会通过调用它的mRecorder来记录,而这个mRecorder的类型正好就是SkCanvas,准确的说是它的子类RecordingCanas。而各种绘制方法会对应生成一个Op对象来描述这个绘制操作,Rec......
  • PHPJSON解析 原理与用法
    PHPJSON解析原理与用法在现代编程语言中,JSON已经成为最流行的数据交换格式之一。而PHP作为一门流行的服务器端编程语言,自然也提供了一套完整的JSON解析库。本文将介绍PHPJSON解析的原理与用法,以帮助PHP开发者更好地使用JSON格式数据进行开发。什么是JSON?JSON代表“JavaScript......