zoukankan      html  css  js  c++  java
  • tracer 原理

    前言

    准备整理网络章节,先整理概念。

    tracer 是一个可以获取我们的主机到访问端中间经过了哪些路由,这个对于我们非常重要,看下原理吧。

    正文

    tracer 在unix中是tracerRout。

    它的原理是这样子的,他发送一个udp包,去访问一个不可达端口,这个端口是一个高位端口,比如说44444。

    回过头来看ip协议,我把图贴过来:

    看到那个ttl没?就是那个生存时间。

    这个我在介绍ip协议的时候介绍过,每经过一个路由,那么他将会-1。

    利用这个特征,我们可以这样做,先设置ttl为1,那么经过一个路由后他将返回一个icmp包。

    这个时候我们就知道了这个路由的地址。

    同样我们再发送ttl为2,然后就是下一个路由。

    那么就有一个问题了,那么我们是如何确定到达的呢?

    关键部分就是这个,udp如果是一个不可达端口,那么会返回一个端口不可达的icmp包,这个时候我们就不用继续发了。

    同样windows又不一样。

    看下windows是如何实现的,windows命令行叫做tracer。

    windows 实现原理:

    微软就是发送icmp包,同样是通过这个ttl实现来返回路由,那么它是如何确定已经到达对方路由了呢?

    icmp如果没到,那么路由器会发送错误icmp包,如果到了,那么目的主机对回应icmp包,这样就结束路由跟踪了。

  • 相关阅读:
    ldconfig和ldd用法
    Linux上ld和ld.so命令的区别
    一维二维码的提取、识别和产生
    最大轮廓和投影
    如何做出半透明和闪光效果
    马赫效应和应对方法
    钢管识别项目1
    钢管识别项目2
    选择轮廓(select_shape)
    压板识别项目分析
  • 原文地址:https://www.cnblogs.com/aoximin/p/13396315.html
Copyright © 2011-2022 走看看